Skip to content

Commit 9037bcd

Browse files
Updating Greengrass client (#163)
1 parent 67950ad commit 9037bcd

20 files changed

+1345
-136
lines changed

sdk/greengrass/event-stream-rpc-model/src/main/java/software/amazon/awssdk/eventstreamrpc/EventStreamRPCServiceModel.java

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public T read(JsonReader in) throws IOException {
7070
};
7171
}
7272
}
73-
73+
7474
private static class OptionalTypeAdapter<E> extends TypeAdapter<Optional<E>> {
7575
public static final TypeAdapterFactory FACTORY = new TypeAdapterFactory() {
7676
@Override
@@ -103,20 +103,16 @@ public void write(JsonWriter out, Optional<E> value) throws IOException {
103103

104104
@Override
105105
public Optional<E> read(JsonReader in) throws IOException {
106-
final JsonToken peek = in.peek();
107-
if (peek != JsonToken.NULL){
108-
return Optional.ofNullable(adapter.read(in));
109-
}
110-
return Optional.empty();
106+
return Optional.ofNullable(adapter.read(in));
111107
}
112108
}
113109

114110
/**
115111
* Used to compare two members of a blob shape for equality. Array equals nesting
116112
* inside of an Optional doesn't work
117-
*
113+
*
118114
* Note: Generated code for equals method of Smithy shapes relies on this
119-
*
115+
*
120116
* @param lhs
121117
* @param rhs
122118
* @return
@@ -169,7 +165,7 @@ public JsonElement serialize(Instant src, Type typeOfSrc, JsonSerializationConte
169165
* @return
170166
*/
171167
public abstract String getServiceName();
172-
168+
173169
private static final Map<String, Class<? extends EventStreamJsonMessage>> FRAMEWORK_APPLICATION_MODEL_TYPES
174170
= new HashMap<>();
175171
static {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package software.amazon.awssdk.aws.greengrass;
2+
3+
import java.lang.Override;
4+
import java.lang.Void;
5+
import java.util.concurrent.CompletableFuture;
6+
import software.amazon.awssdk.aws.greengrass.model.DeleteThingShadowResponse;
7+
import software.amazon.awssdk.eventstreamrpc.OperationResponse;
8+
import software.amazon.awssdk.eventstreamrpc.StreamResponse;
9+
import software.amazon.awssdk.eventstreamrpc.model.EventStreamJsonMessage;
10+
11+
public final class DeleteThingShadowResponseHandler implements StreamResponse<DeleteThingShadowResponse, EventStreamJsonMessage> {
12+
private final OperationResponse<DeleteThingShadowResponse, EventStreamJsonMessage> operationResponse;
13+
14+
public DeleteThingShadowResponseHandler(
15+
final OperationResponse<DeleteThingShadowResponse, EventStreamJsonMessage> operationResponse) {
16+
this.operationResponse = operationResponse;
17+
}
18+
19+
@Override
20+
public CompletableFuture<Void> getRequestFlushFuture() {
21+
return operationResponse.getRequestFlushFuture();
22+
}
23+
24+
@Override
25+
public CompletableFuture<DeleteThingShadowResponse> getResponse() {
26+
return operationResponse.getResponse();
27+
}
28+
29+
@Override
30+
public CompletableFuture<Void> sendStreamEvent(final EventStreamJsonMessage event) {
31+
return operationResponse.sendStreamEvent(event);
32+
}
33+
34+
@Override
35+
public CompletableFuture<Void> closeStream() {
36+
return operationResponse.closeStream();
37+
}
38+
39+
@Override
40+
public boolean isClosed() {
41+
return operationResponse.isClosed();
42+
}
43+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package software.amazon.awssdk.aws.greengrass;
2+
3+
import java.lang.Override;
4+
import java.lang.Void;
5+
import java.util.concurrent.CompletableFuture;
6+
import software.amazon.awssdk.aws.greengrass.model.GetThingShadowResponse;
7+
import software.amazon.awssdk.eventstreamrpc.OperationResponse;
8+
import software.amazon.awssdk.eventstreamrpc.StreamResponse;
9+
import software.amazon.awssdk.eventstreamrpc.model.EventStreamJsonMessage;
10+
11+
public final class GetThingShadowResponseHandler implements StreamResponse<GetThingShadowResponse, EventStreamJsonMessage> {
12+
private final OperationResponse<GetThingShadowResponse, EventStreamJsonMessage> operationResponse;
13+
14+
public GetThingShadowResponseHandler(
15+
final OperationResponse<GetThingShadowResponse, EventStreamJsonMessage> operationResponse) {
16+
this.operationResponse = operationResponse;
17+
}
18+
19+
@Override
20+
public CompletableFuture<Void> getRequestFlushFuture() {
21+
return operationResponse.getRequestFlushFuture();
22+
}
23+
24+
@Override
25+
public CompletableFuture<GetThingShadowResponse> getResponse() {
26+
return operationResponse.getResponse();
27+
}
28+
29+
@Override
30+
public CompletableFuture<Void> sendStreamEvent(final EventStreamJsonMessage event) {
31+
return operationResponse.sendStreamEvent(event);
32+
}
33+
34+
@Override
35+
public CompletableFuture<Void> closeStream() {
36+
return operationResponse.closeStream();
37+
}
38+
39+
@Override
40+
public boolean isClosed() {
41+
return operationResponse.isClosed();
42+
}
43+
}

sdk/greengrass/greengrass-client/src/event-stream-rpc-java/client/software/amazon/awssdk/aws/greengrass/GreengrassCoreIPC.java

Lines changed: 33 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,16 @@
66
import software.amazon.awssdk.aws.greengrass.model.CreateDebugPasswordRequest;
77
import software.amazon.awssdk.aws.greengrass.model.CreateLocalDeploymentRequest;
88
import software.amazon.awssdk.aws.greengrass.model.DeferComponentUpdateRequest;
9+
import software.amazon.awssdk.aws.greengrass.model.DeleteThingShadowRequest;
910
import software.amazon.awssdk.aws.greengrass.model.GetComponentDetailsRequest;
1011
import software.amazon.awssdk.aws.greengrass.model.GetConfigurationRequest;
1112
import software.amazon.awssdk.aws.greengrass.model.GetLocalDeploymentStatusRequest;
1213
import software.amazon.awssdk.aws.greengrass.model.GetSecretValueRequest;
14+
import software.amazon.awssdk.aws.greengrass.model.GetThingShadowRequest;
1315
import software.amazon.awssdk.aws.greengrass.model.IoTCoreMessage;
1416
import software.amazon.awssdk.aws.greengrass.model.ListComponentsRequest;
1517
import software.amazon.awssdk.aws.greengrass.model.ListLocalDeploymentsRequest;
18+
import software.amazon.awssdk.aws.greengrass.model.ListNamedShadowsForThingRequest;
1619
import software.amazon.awssdk.aws.greengrass.model.PublishToIoTCoreRequest;
1720
import software.amazon.awssdk.aws.greengrass.model.PublishToTopicRequest;
1821
import software.amazon.awssdk.aws.greengrass.model.RestartComponentRequest;
@@ -26,6 +29,7 @@
2629
import software.amazon.awssdk.aws.greengrass.model.SubscriptionResponseMessage;
2730
import software.amazon.awssdk.aws.greengrass.model.UpdateConfigurationRequest;
2831
import software.amazon.awssdk.aws.greengrass.model.UpdateStateRequest;
32+
import software.amazon.awssdk.aws.greengrass.model.UpdateThingShadowRequest;
2933
import software.amazon.awssdk.aws.greengrass.model.ValidateAuthorizationTokenRequest;
3034
import software.amazon.awssdk.aws.greengrass.model.ValidateConfigurationUpdateEvents;
3135
import software.amazon.awssdk.eventstreamrpc.StreamResponseHandler;
@@ -35,36 +39,54 @@ public interface GreengrassCoreIPC {
3539
SubscribeToIoTCoreResponseHandler subscribeToIoTCore(final SubscribeToIoTCoreRequest request,
3640
final Optional<StreamResponseHandler<IoTCoreMessage>> streamResponseHandler);
3741

38-
PublishToTopicResponseHandler publishToTopic(final PublishToTopicRequest request,
39-
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);
40-
4142
PublishToIoTCoreResponseHandler publishToIoTCore(final PublishToIoTCoreRequest request,
4243
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);
4344

4445
SubscribeToConfigurationUpdateResponseHandler subscribeToConfigurationUpdate(
4546
final SubscribeToConfigurationUpdateRequest request,
4647
final Optional<StreamResponseHandler<ConfigurationUpdateEvents>> streamResponseHandler);
4748

49+
DeleteThingShadowResponseHandler deleteThingShadow(final DeleteThingShadowRequest request,
50+
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);
51+
52+
DeferComponentUpdateResponseHandler deferComponentUpdate(
53+
final DeferComponentUpdateRequest request,
54+
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);
55+
56+
SubscribeToValidateConfigurationUpdatesResponseHandler subscribeToValidateConfigurationUpdates(
57+
final SubscribeToValidateConfigurationUpdatesRequest request,
58+
final Optional<StreamResponseHandler<ValidateConfigurationUpdateEvents>> streamResponseHandler);
59+
60+
GetConfigurationResponseHandler getConfiguration(final GetConfigurationRequest request,
61+
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);
62+
63+
SubscribeToTopicResponseHandler subscribeToTopic(final SubscribeToTopicRequest request,
64+
final Optional<StreamResponseHandler<SubscriptionResponseMessage>> streamResponseHandler);
65+
66+
GetComponentDetailsResponseHandler getComponentDetails(final GetComponentDetailsRequest request,
67+
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);
68+
69+
PublishToTopicResponseHandler publishToTopic(final PublishToTopicRequest request,
70+
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);
71+
4872
ListComponentsResponseHandler listComponents(final ListComponentsRequest request,
4973
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);
5074

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

54-
DeferComponentUpdateResponseHandler deferComponentUpdate(
55-
final DeferComponentUpdateRequest request,
78+
GetThingShadowResponseHandler getThingShadow(final GetThingShadowRequest request,
5679
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);
5780

5881
SendConfigurationValidityReportResponseHandler sendConfigurationValidityReport(
5982
final SendConfigurationValidityReportRequest request,
6083
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);
6184

62-
UpdateConfigurationResponseHandler updateConfiguration(final UpdateConfigurationRequest request,
85+
UpdateThingShadowResponseHandler updateThingShadow(final UpdateThingShadowRequest request,
6386
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);
6487

65-
SubscribeToValidateConfigurationUpdatesResponseHandler subscribeToValidateConfigurationUpdates(
66-
final SubscribeToValidateConfigurationUpdatesRequest request,
67-
final Optional<StreamResponseHandler<ValidateConfigurationUpdateEvents>> streamResponseHandler);
88+
UpdateConfigurationResponseHandler updateConfiguration(final UpdateConfigurationRequest request,
89+
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);
6890

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

86-
GetConfigurationResponseHandler getConfiguration(final GetConfigurationRequest request,
87-
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);
88-
89-
SubscribeToTopicResponseHandler subscribeToTopic(final SubscribeToTopicRequest request,
90-
final Optional<StreamResponseHandler<SubscriptionResponseMessage>> streamResponseHandler);
91-
92-
GetComponentDetailsResponseHandler getComponentDetails(final GetComponentDetailsRequest request,
108+
ListNamedShadowsForThingResponseHandler listNamedShadowsForThing(
109+
final ListNamedShadowsForThingRequest request,
93110
final Optional<StreamResponseHandler<EventStreamJsonMessage>> streamResponseHandler);
94111

95112
SubscribeToComponentUpdatesResponseHandler subscribeToComponentUpdates(

0 commit comments

Comments
 (0)