From 69726a46a4305bd76c6bd87c220289d22a36e778 Mon Sep 17 00:00:00 2001 From: atusa17 Date: Sun, 24 Mar 2019 21:51:10 -0600 Subject: [PATCH] PAN-11 created the updateDefinition method --- .../tsp/services/DefinitionService.java | 36 +++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/services/src/main/java/edu/msudenver/tsp/services/DefinitionService.java b/services/src/main/java/edu/msudenver/tsp/services/DefinitionService.java index 7279ccd..dec86a3 100644 --- a/services/src/main/java/edu/msudenver/tsp/services/DefinitionService.java +++ b/services/src/main/java/edu/msudenver/tsp/services/DefinitionService.java @@ -89,10 +89,10 @@ public class DefinitionService { final Instant start = Instant.now(); try { - final TypeToken definitionTypeToken = new TypeToken() {}; + final TypeToken typeToken = new TypeToken() {}; final Optional persistenceApiResponse = restService.post(persistenceApiBaseUrl + "definitions/", new GsonBuilder().create().toJson(definition), - definitionTypeToken, + typeToken, connectionTimeoutMilliseconds, socketTimeoutMilliseconds); @@ -110,4 +110,36 @@ public class DefinitionService { LOG.info("Create new definition request took {}ms", Duration.between(start, Instant.now()).toMillis()); } } + + public Optional 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 typeToken = new TypeToken(){}; + final Optional 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()); + } + } }