PAN-11 created the updateDefinition method

This commit is contained in:
2019-03-24 21:51:10 -06:00
parent ae88fd356d
commit 69726a46a4
@@ -89,10 +89,10 @@ public class DefinitionService {
final Instant start = Instant.now(); final Instant start = Instant.now();
try { try {
final TypeToken<Definition> definitionTypeToken = new TypeToken<Definition>() {}; final TypeToken<Definition> typeToken = new TypeToken<Definition>() {};
final Optional<Definition> persistenceApiResponse = restService.post(persistenceApiBaseUrl + "definitions/", final Optional<Definition> persistenceApiResponse = restService.post(persistenceApiBaseUrl + "definitions/",
new GsonBuilder().create().toJson(definition), new GsonBuilder().create().toJson(definition),
definitionTypeToken, typeToken,
connectionTimeoutMilliseconds, connectionTimeoutMilliseconds,
socketTimeoutMilliseconds); socketTimeoutMilliseconds);
@@ -110,4 +110,36 @@ public class DefinitionService {
LOG.info("Create new definition request took {}ms", Duration.between(start, Instant.now()).toMillis()); LOG.info("Create new definition request took {}ms", Duration.between(start, Instant.now()).toMillis());
} }
} }
public Optional<Definition> updateDefinition(final Definition definition) {
if (definition == null) {
LOG.error("Given null definition, returning {}");
return Optional.empty();
}
LOG.info("Sending request to update definition {}", definition);
final Instant start = Instant.now();
try {
final TypeToken<Definition> typeToken = new TypeToken<Definition>(){};
final Optional<Definition> persistenceApiResposne = restService.patch(persistenceApiBaseUrl + "/" + definition.getId(),
new GsonBuilder().create().toJson(definition),
typeToken,
connectionTimeoutMilliseconds,
socketTimeoutMilliseconds);
if (persistenceApiResposne.isPresent()) {
LOG.info("Returning {}", persistenceApiResposne.get());
} else {
LOG.info("Unable to update definition {}", definition);
}
return persistenceApiResposne;
} catch (final Exception e) {
LOG.error("Error updating definition {}", e);
return Optional.empty();
} finally {
LOG.info("Update definition request took {}ms", Duration.between(start, Instant.now()).toMillis());
}
}
} }