Skip to content

Commit ec4b1ab

Browse files
Improvements from Review
1 parent 297072a commit ec4b1ab

File tree

4 files changed

+35
-13
lines changed

4 files changed

+35
-13
lines changed

cf-java-logging-support-servlet/src/main/java/com/sap/hcp/cf/logging/servlet/filter/AddHttpHeadersToLogContextFilter.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import java.util.Arrays;
77
import java.util.Collections;
88
import java.util.List;
9+
import java.util.Objects;
910
import java.util.stream.Stream;
1011

1112
import javax.servlet.http.HttpServletRequest;
@@ -53,8 +54,8 @@ public AddHttpHeadersToLogContextFilter(HttpHeader... headers) {
5354
public AddHttpHeadersToLogContextFilter(List<? extends HttpHeader> list, HttpHeader... custom) {
5455
Stream<HttpHeader> allHeaders = Stream.concat(list.stream(), Arrays.stream(custom));
5556
this.headers = unmodifiableList(allHeaders.filter(HttpHeader::isPropagated).collect(toList()));
56-
this.fields = unmodifiableList(headers.stream().map(HttpHeader::getField).filter(f -> f != null).collect(
57-
toList()));
57+
this.fields = unmodifiableList(headers.stream().map(HttpHeader::getField).filter(Objects::nonNull).collect(
58+
toList()));
5859
}
5960

6061
@Override

cf-java-logging-support-servlet/src/main/java/com/sap/hcp/cf/logging/servlet/filter/CompositeFilter.java

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import java.io.IOException;
44
import java.util.ArrayList;
5-
import java.util.Arrays;
65
import java.util.Collections;
76
import java.util.Iterator;
87
import java.util.List;
@@ -18,31 +17,35 @@
1817
* <p>
1918
* The {@link CompositeFilter} allows to group several servlet {@link Filter}
2019
* into one. This is used to allow customizable filters and provide a backwards
21-
* compatible {@link RequestLoggingFilter}.
20+
* compatible {@link RequestLoggingFilter}. The {@link FilterConfig} is
21+
* forwarded to all filters, that are grouped. This may lead to
22+
* incompatibilities between those shared configurations.
2223
* </p>
2324
*
2425
* <p>
2526
* You can easily create a subclass of {@link CompositeFilter} and add all the
2627
* filters from com.sap.hcp.cf.logging.servlet.filter you wish. You can even
27-
* bring your own filters.
28+
* bring your own filters. Make sure, there are no incompatible
29+
* {@link FilterConfig} initializations.
2830
* </p>
2931
*/
3032
public class CompositeFilter implements Filter {
3133

32-
private List<? extends Filter> filters;
34+
private final List<Filter> filters;
3335

3436
public CompositeFilter(Filter... filters) {
35-
this.filters = Arrays.asList(filters);
36-
}
37-
38-
public void setFilters(List<? extends Filter> filters) {
39-
this.filters = new ArrayList<>(filters);
37+
this.filters = new ArrayList<>(filters.length);
38+
Collections.addAll(this.filters, filters);
4039
}
4140

4241
public List<? extends Filter> getFilters() {
4342
return Collections.unmodifiableList(filters);
4443
}
4544

45+
/**
46+
* Forwards the {@link FilterConfig} to all grouped filters. Be care to use
47+
* only filters, that are compatible to each other.
48+
*/
4649
@Override
4750
public void init(FilterConfig config) throws ServletException {
4851
for (Filter filter: this.filters) {

cf-java-logging-support-servlet/src/main/java/com/sap/hcp/cf/logging/servlet/filter/GenerateRequestLogFilter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@
2626

2727
public class GenerateRequestLogFilter extends AbstractLoggingFilter {
2828

29-
private static final String WRAP_RESPONSE_INIT_PARAM = "wrapResponse";
30-
private static final String WRAP_REQUEST_INIT_PARAM = "wrapRequest";
29+
public static final String WRAP_RESPONSE_INIT_PARAM = "wrapResponse";
30+
public static final String WRAP_REQUEST_INIT_PARAM = "wrapRequest";
3131

3232
private final RequestRecordFactory requestRecordFactory;
3333

cf-java-logging-support-servlet/src/main/java/com/sap/hcp/cf/logging/servlet/filter/RequestLoggingFilter.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,24 @@
4444
*/
4545
public class RequestLoggingFilter extends CompositeFilter {
4646

47+
/**
48+
* This is no longer used.
49+
*/
50+
@Deprecated
51+
public static final String LOG_PROVIDER = "[SERVLET]";
52+
53+
/**
54+
* Please use {@link GenerateRequestLogFilter#WRAP_RESPONSE_INIT_PARAM}.
55+
*/
56+
@Deprecated
57+
public static final String WRAP_RESPONSE_INIT_PARAM = "wrapResponse";
58+
59+
/**
60+
* Please use {@link GenerateRequestLogFilter#WRAP_REQUEST_INIT_PARAM}.
61+
*/
62+
@Deprecated
63+
public static final String WRAP_REQUEST_INIT_PARAM = "wrapRequest";
64+
4765
public RequestLoggingFilter() {
4866
super(new AddVcapEnvironmentToLogContextFilter(), new AddHttpHeadersToLogContextFilter(),
4967
new CorrelationIdFilter(), new DynamicLogLevelFilter(), new GenerateRequestLogFilter());

0 commit comments

Comments
 (0)