Skip to content

Commit 6486d03

Browse files
committed
#121 Extract Request Entity Creation
Signed-off-by: Sven Strittmatter <[email protected]>
1 parent 712f691 commit 6486d03

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

src/main/java/io/securecodebox/persistence/defectdojo/service/GenericDefectDojoService.java

+14-7
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
import io.securecodebox.persistence.defectdojo.config.ClientConfig;
99
import io.securecodebox.persistence.defectdojo.exception.TooManyResponsesException;
1010
import io.securecodebox.persistence.defectdojo.http.AuthHeaderFactory;
11-
import io.securecodebox.persistence.defectdojo.http.RestTemplateFactory;
1211
import io.securecodebox.persistence.defectdojo.http.ProxyConfig;
1312
import io.securecodebox.persistence.defectdojo.http.ProxyConfigFactory;
13+
import io.securecodebox.persistence.defectdojo.http.RestTemplateFactory;
1414
import io.securecodebox.persistence.defectdojo.model.Model;
1515
import io.securecodebox.persistence.defectdojo.model.PaginatedResult;
1616
import lombok.NonNull;
@@ -67,7 +67,7 @@ public GenericDefectDojoService(@NonNull ClientConfig clientConfig, @NonNull Pro
6767

6868
@Override
6969
public final T get(long id) {
70-
final HttpEntity<String> payload = new HttpEntity<>(createAuthorizationHeaders());
70+
final HttpEntity<String> payload = createRequestEntity(createAuthorizationHeaders());
7171

7272
final var url = createBaseUrl().resolve(String.valueOf(id));
7373
log.debug("Requesting URL: {}", url);
@@ -133,29 +133,36 @@ public final Optional<T> searchUnique(@NonNull Map<String, Object> queryParams)
133133

134134
@Override
135135
public final T create(@NonNull T object) {
136-
final HttpEntity<T> payload = new HttpEntity<>(object, createAuthorizationHeaders());
136+
final HttpEntity<T> payload = createRequestEntity(object, createAuthorizationHeaders());
137137
final ResponseEntity<T> response = restTemplate.exchange(createBaseUrl(), HttpMethod.POST, payload, getModelClass());
138138

139139
return response.getBody();
140140
}
141141

142142
@Override
143143
public final void delete(long id) {
144-
final HttpEntity<String> payload = new HttpEntity<>(createAuthorizationHeaders());
145-
144+
final HttpEntity<String> payload = createRequestEntity(createAuthorizationHeaders());
146145
final var url = createBaseUrl().resolve(id + "/");
147146
restTemplate.exchange(url, HttpMethod.DELETE, payload, String.class);
148147
}
149148

150149
@Override
151150
public final T update(@NonNull T object, long id) {
152-
final HttpEntity<T> payload = new HttpEntity<>(object, createAuthorizationHeaders());
151+
final HttpEntity<T> payload = createRequestEntity(object, createAuthorizationHeaders());
153152
final var url = createBaseUrl().resolve(id + "/");
154153
final ResponseEntity<T> response = restTemplate.exchange(url, HttpMethod.PUT, payload, getModelClass());
155154

156155
return response.getBody();
157156
}
158157

158+
private HttpEntity<String> createRequestEntity(HttpHeaders headers) {
159+
return createRequestEntity("", headers);
160+
}
161+
162+
private <M> HttpEntity<M> createRequestEntity(M body, HttpHeaders headers) {
163+
return new HttpEntity<>(body, headers);
164+
}
165+
159166
/**
160167
* Get the URL path for the REST endpoint relative to {@link ClientConfig#API_PREFIX}
161168
*
@@ -213,7 +220,7 @@ private RestTemplate setupRestTemplate() {
213220
}
214221

215222
protected PaginatedResult<T> internalSearch(Map<String, Object> queryParams, long limit, long offset) {
216-
final HttpEntity<String> payload = new HttpEntity<>(createAuthorizationHeaders());
223+
final HttpEntity<String> payload = createRequestEntity(createAuthorizationHeaders());
217224

218225
final var mutableQueryParams = new HashMap<>(queryParams);
219226
mutableQueryParams.put("limit", String.valueOf(limit));

0 commit comments

Comments
 (0)