Skip to content

Commit 26da194

Browse files
author
Guanzhou (Mark) Ye
committed
Changed response envelopes to have a separate response envelope for each resource method (i.e. GET, CREATE, etc.), added method to distinguish between CREATE vs. CREATE + GET, and implemented SI-2
RB=761646 G=si-dev R=dhoa,aponniah,kvidhani,kbalasub A=kvidhani
1 parent 7fb50df commit 26da194

File tree

72 files changed

+3204
-1424
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+3204
-1424
lines changed

restli-docgen/src/main/java/com/linkedin/restli/docgen/examplegen/ExampleRequestResponseGenerator.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@
9292
import com.linkedin.restli.internal.client.RequestBodyTransformer;
9393
import com.linkedin.restli.internal.common.AllProtocolVersions;
9494
import com.linkedin.restli.internal.server.ResourceContextImpl;
95-
import com.linkedin.restli.internal.server.RestLiResponseHandler;
95+
import com.linkedin.restli.internal.server.response.RestLiResponseHandler;
9696
import com.linkedin.restli.internal.server.RoutingResult;
9797
import com.linkedin.restli.internal.server.ServerResourceContext;
9898
import com.linkedin.restli.internal.server.model.Parameter;

restli-int-test/src/test/java/com/linkedin/restli/examples/TestFilters.java

-2
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,6 @@
7070

7171
import static com.linkedin.restli.examples.TestConstants.FORCE_USE_NEXT_OPTIONS;
7272

73-
import static org.mockito.Matchers.any;
74-
import static org.mockito.Mockito.verify;
7573
import static org.testng.Assert.assertEquals;
7674
import static org.testng.Assert.assertTrue;
7775
import static org.testng.Assert.fail;

restli-int-test/src/test/java/com/linkedin/restli/examples/TestNullGreetingsClient.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@
3838
import com.linkedin.restli.examples.greetings.api.Tone;
3939
import com.linkedin.restli.examples.greetings.client.NullGreetingBuilders;
4040
import com.linkedin.restli.examples.greetings.client.NullGreetingRequestBuilders;
41-
import com.linkedin.restli.internal.server.methods.response.ErrorResponseBuilder;
4241
import com.linkedin.restli.server.filter.Filter;
4342
import com.linkedin.restli.server.filter.FilterRequestContext;
4443
import com.linkedin.restli.server.filter.FilterResponseContext;
44+
import com.linkedin.restli.internal.server.response.ErrorResponseBuilder;
4545
import com.linkedin.restli.test.util.BatchCreateHelper;
4646
import com.linkedin.restli.test.util.RootBuilderWrapper;
4747

restli-server/src/main/java/com/linkedin/restli/internal/server/ResponseType.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
import com.linkedin.restli.common.ResourceMethod;
2121

22+
import com.linkedin.restli.server.RestLiResponseData;
2223
import java.util.Arrays;
2324
import java.util.List;
2425

@@ -60,7 +61,7 @@ public enum ResponseType
6061
GET_COLLECTION(GET_ALL, FINDER),
6162

6263
/**
63-
* Used for {@link com.linkedin.restli.server.RestLiResponseData#getCreateCollectionResponseEnvelope()}
64+
* Used for {@link RestLiResponseData#getBatchCreateResponseEnvelope()}
6465
*/
6566
CREATE_COLLECTION(BATCH_CREATE),
6667

restli-server/src/main/java/com/linkedin/restli/internal/server/RestLiCallback.java

-1
Original file line numberDiff line numberDiff line change
@@ -81,5 +81,4 @@ public void onError(final Throwable e,
8181
// Now kick off the response filters with error
8282
_filterChain.onError(e, _filterRequestContext, responseContext, responseAttachments);
8383
}
84-
8584
}

restli-server/src/main/java/com/linkedin/restli/internal/server/RestLiMethodInvoker.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
import com.linkedin.restli.common.HttpStatus;
2929
import com.linkedin.restli.common.attachments.RestLiAttachmentReader;
3030
import com.linkedin.restli.internal.server.methods.arguments.RestLiArgumentBuilder;
31-
import com.linkedin.restli.internal.server.methods.response.ErrorResponseBuilder;
31+
import com.linkedin.restli.internal.server.response.ErrorResponseBuilder;
3232
import com.linkedin.restli.internal.server.model.Parameter.ParamType;
3333
import com.linkedin.restli.internal.server.model.ResourceMethodDescriptor;
3434
import com.linkedin.restli.server.RequestExecutionCallback;

restli-server/src/main/java/com/linkedin/restli/internal/server/RestLiResponseEnvelope.java

-192
This file was deleted.

restli-server/src/main/java/com/linkedin/restli/internal/server/filter/FilterChainCallbackImpl.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@
2121
import com.linkedin.restli.common.attachments.RestLiAttachmentReader;
2222
import com.linkedin.restli.internal.server.RestLiCallback;
2323
import com.linkedin.restli.internal.server.RestLiMethodInvoker;
24-
import com.linkedin.restli.internal.server.RestLiResponseHandler;
2524
import com.linkedin.restli.internal.server.RoutingResult;
2625
import com.linkedin.restli.internal.server.methods.arguments.RestLiArgumentBuilder;
27-
import com.linkedin.restli.internal.server.methods.response.PartialRestResponse;
26+
import com.linkedin.restli.internal.server.response.PartialRestResponse;
27+
import com.linkedin.restli.internal.server.response.RestLiResponseHandler;
2828
import com.linkedin.restli.server.RequestExecutionCallback;
2929
import com.linkedin.restli.server.RequestExecutionReport;
3030
import com.linkedin.restli.server.RequestExecutionReportBuilder;

restli-server/src/main/java/com/linkedin/restli/internal/server/filter/RestLiFilterChainIterator.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import com.linkedin.restli.internal.common.HeaderUtil;
2222
import com.linkedin.restli.internal.common.ProtocolVersionUtil;
2323
import com.linkedin.restli.internal.server.RestLiCallback;
24+
import com.linkedin.restli.internal.server.response.RestLiResponseDataImpl;
2425
import com.linkedin.restli.server.RestLiResponseAttachments;
2526
import com.linkedin.restli.server.RestLiResponseData;
2627
import com.linkedin.restli.server.filter.Filter;
@@ -158,9 +159,8 @@ private void updateResponseContextWithError(Throwable throwable, FilterResponseC
158159
ProtocolVersionUtil.extractProtocolVersion(requestHeaders).toString());
159160
headers.put(HeaderUtil.getErrorResponseHeaderName(requestHeaders), RestConstants.HEADER_VALUE_ERROR);
160161

161-
RestLiResponseData responseData = responseContext.getResponseData();
162+
RestLiResponseDataImpl responseData = (RestLiResponseDataImpl)responseContext.getResponseData();
162163
responseData.getHeaders().putAll(headers);
163164
responseData.setException(throwable);
164165
}
165-
166166
}

restli-server/src/main/java/com/linkedin/restli/internal/server/filter/RestLiResponseFilterContextFactory.java

+8-8
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@
2222
import com.linkedin.restli.common.RestConstants;
2323
import com.linkedin.restli.internal.common.HeaderUtil;
2424
import com.linkedin.restli.internal.common.ProtocolVersionUtil;
25-
import com.linkedin.restli.internal.server.RestLiResponseEnvelope;
26-
import com.linkedin.restli.internal.server.RestLiResponseHandler;
25+
import com.linkedin.restli.internal.server.response.RestLiResponseHandler;
2726
import com.linkedin.restli.internal.server.RoutingResult;
2827
import com.linkedin.restli.server.RestLiResponseData;
2928
import com.linkedin.restli.server.RestLiServiceException;
@@ -70,7 +69,7 @@ public RestLiResponseFilterContextFactory(final RestRequest request,
7069
*/
7170
public FilterResponseContext fromResult(T result) throws IOException
7271
{
73-
final RestLiResponseEnvelope responseData = _responseHandler.buildRestLiResponseData(_request, _method, result);
72+
final RestLiResponseData responseData = _responseHandler.buildRestLiResponseData(_request, _method, result);
7473
return new FilterResponseContext()
7574
{
7675
@Override
@@ -115,11 +114,12 @@ else if (throwable instanceof RoutingException)
115114
headers.put(RestConstants.HEADER_RESTLI_PROTOCOL_VERSION,
116115
ProtocolVersionUtil.extractProtocolVersion(requestHeaders).toString());
117116
headers.put(HeaderUtil.getErrorResponseHeaderName(requestHeaders), RestConstants.HEADER_VALUE_ERROR);
118-
final RestLiResponseEnvelope responseData = _responseHandler.buildExceptionResponseData(_request,
119-
_method,
120-
restLiServiceException,
121-
headers,
122-
Collections.<HttpCookie>emptyList());
117+
118+
final RestLiResponseData responseData = _responseHandler.buildExceptionResponseData(_request,
119+
_method,
120+
restLiServiceException,
121+
headers,
122+
Collections.<HttpCookie>emptyList());
123123
return new FilterResponseContext()
124124
{
125125
@Override

restli-server/src/main/java/com/linkedin/restli/internal/server/methods/MethodAdapterRegistry.java

+10-10
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
package com.linkedin.restli.internal.server.methods;
2222

23-
import com.linkedin.restli.internal.server.methods.response.ErrorResponseBuilder;
23+
import com.linkedin.restli.internal.server.response.ErrorResponseBuilder;
2424
import java.util.Collections;
2525
import java.util.HashMap;
2626
import java.util.Map;
@@ -38,15 +38,15 @@
3838
import com.linkedin.restli.internal.server.methods.arguments.PatchArgumentBuilder;
3939
import com.linkedin.restli.internal.server.methods.arguments.RestLiArgumentBuilder;
4040
import com.linkedin.restli.internal.server.methods.arguments.UpdateArgumentBuilder;
41-
import com.linkedin.restli.internal.server.methods.response.ActionResponseBuilder;
42-
import com.linkedin.restli.internal.server.methods.response.BatchCreateResponseBuilder;
43-
import com.linkedin.restli.internal.server.methods.response.BatchGetResponseBuilder;
44-
import com.linkedin.restli.internal.server.methods.response.BatchUpdateResponseBuilder;
45-
import com.linkedin.restli.internal.server.methods.response.CreateResponseBuilder;
46-
import com.linkedin.restli.internal.server.methods.response.CollectionResponseBuilder;
47-
import com.linkedin.restli.internal.server.methods.response.GetResponseBuilder;
48-
import com.linkedin.restli.internal.server.methods.response.RestLiResponseBuilder;
49-
import com.linkedin.restli.internal.server.methods.response.UpdateResponseBuilder;
41+
import com.linkedin.restli.internal.server.response.ActionResponseBuilder;
42+
import com.linkedin.restli.internal.server.response.BatchCreateResponseBuilder;
43+
import com.linkedin.restli.internal.server.response.BatchGetResponseBuilder;
44+
import com.linkedin.restli.internal.server.response.BatchUpdateResponseBuilder;
45+
import com.linkedin.restli.internal.server.response.CreateResponseBuilder;
46+
import com.linkedin.restli.internal.server.response.CollectionResponseBuilder;
47+
import com.linkedin.restli.internal.server.response.GetResponseBuilder;
48+
import com.linkedin.restli.internal.server.response.RestLiResponseBuilder;
49+
import com.linkedin.restli.internal.server.response.UpdateResponseBuilder;
5050

5151
/**
5252
* @author Josh Walker

0 commit comments

Comments
 (0)