From c7fea3bdc0f3d7b6b0dc298bc3e3882ba34a5b75 Mon Sep 17 00:00:00 2001 From: Scott Frederick Date: Thu, 10 Aug 2017 14:54:32 -0500 Subject: [PATCH] Change getByName methods to return only the current credential value, and add getByNameWithHistory methods. --- .../credhub/core/CredHubOperations.java | 32 ++++++++-- .../credhub/core/CredHubTemplate.java | 39 +++++++++--- ...HubTemplateDetailCertificateUnitTests.java | 24 +++++-- .../CredHubTemplateDetailJsonUnitTests.java | 24 +++++-- ...redHubTemplateDetailPasswordUnitTests.java | 24 +++++-- .../CredHubTemplateDetailRsaUnitTests.java | 24 +++++-- .../CredHubTemplateDetailSshUnitTests.java | 24 +++++-- .../CredHubTemplateDetailUnitTestsBase.java | 62 +++++++++++++++++-- .../CredHubTemplateDetailUserUnitTests.java | 24 +++++-- .../CredHubTemplateDetailValueUnitTests.java | 24 +++++-- spring-credhub-demo/manifest.yml | 2 +- .../credhub/demo/CredHubDemoController.java | 2 +- 12 files changed, 243 insertions(+), 62 deletions(-) diff --git a/spring-credhub-core/src/main/java/org/springframework/credhub/core/CredHubOperations.java b/spring-credhub-core/src/main/java/org/springframework/credhub/core/CredHubOperations.java index 7e24968..8e81b83 100644 --- a/spring-credhub-core/src/main/java/org/springframework/credhub/core/CredHubOperations.java +++ b/spring-credhub-core/src/main/java/org/springframework/credhub/core/CredHubOperations.java @@ -67,15 +67,25 @@ public interface CredHubOperations { /** * Retrieve a credential using its name, as passed to a write request. - * A collection of all stored values for the named credential will be returned, - * including historical values. + * Only the current credential value will be returned. * * @param name the name of the credential; must not be {@literal null} * @param credentialType the type of credential expected to be returned * @param the credential implementation type - * @return the details of the retrieved credential, including history + * @return the details of the retrieved credential */ - List> getByName(final String name, Class credentialType); + CredentialDetails getByName(final String name, Class credentialType); + + /** + * Retrieve a credential using its name, as passed to a write request. + * Only the current credential value will be returned. + * + * @param name the name of the credential; must not be {@literal null} + * @param credentialType the type of credential expected to be returned + * @param the credential implementation type + * @return the details of the retrieved credential + */ + CredentialDetails getByName(final CredentialName name, Class credentialType); /** * Retrieve a credential using its name, as passed to a write request. @@ -87,7 +97,19 @@ public interface CredHubOperations { * @param the credential implementation type * @return the details of the retrieved credential, including history */ - List> getByName(final CredentialName name, Class credentialType); + List> getByNameWithHistory(String name, Class credentialType); + + /** + * Retrieve a credential using its name, as passed to a write request. + * A collection of all stored values for the named credential will be returned, + * including historical values. + * + * @param name the name of the credential; must not be {@literal null} + * @param credentialType the type of credential expected to be returned + * @param the credential implementation type + * @return the details of the retrieved credential, including history + */ + List> getByNameWithHistory(CredentialName name, Class credentialType); /** * Find a credential using a full or partial name. diff --git a/spring-credhub-core/src/main/java/org/springframework/credhub/core/CredHubTemplate.java b/spring-credhub-core/src/main/java/org/springframework/credhub/core/CredHubTemplate.java index 7a4d6a8..2364d76 100644 --- a/spring-credhub-core/src/main/java/org/springframework/credhub/core/CredHubTemplate.java +++ b/spring-credhub-core/src/main/java/org/springframework/credhub/core/CredHubTemplate.java @@ -50,12 +50,11 @@ public class CredHubTemplate implements CredHubOperations { static final String BASE_URL_PATH = "/api/v1/data"; static final String ID_URL_PATH = BASE_URL_PATH + "/{id}"; static final String NAME_URL_QUERY = BASE_URL_PATH + "?name={name}"; + static final String NAME_URL_QUERY_CURRENT = NAME_URL_QUERY + "¤t=true"; static final String NAME_LIKE_URL_QUERY = BASE_URL_PATH + "?name-like={name}"; static final String PATH_URL_QUERY = BASE_URL_PATH + "?path={path}"; static final String INTERPOLATE_URL_PATH = "/api/v1/interpolate"; - static final String VCAP_SERVICES_KEY = "VCAP_SERVICES"; - private final RestTemplate restTemplate; /** @@ -92,7 +91,6 @@ public class CredHubTemplate implements CredHubOperations { public CredentialDetails write(final CredentialRequest credentialRequest) { Assert.notNull(credentialRequest, "credentialRequest must not be null"); - Class credentialType = (Class) credentialRequest.getValue().getClass(); final ParameterizedTypeReference> ref = new ParameterizedTypeReference>() {}; @@ -115,7 +113,6 @@ public class CredHubTemplate implements CredHubOperations { public CredentialDetails generate(final ParametersRequest

parametersRequest) { Assert.notNull(parametersRequest, "generateRequest must not be null"); - Class credentialType = (Class) parametersRequest.getParameters().getClass(); final ParameterizedTypeReference> ref = new ParameterizedTypeReference>() {}; @@ -155,7 +152,35 @@ public class CredHubTemplate implements CredHubOperations { } @Override - public List> getByName(final String name, Class credentialType) { + public CredentialDetails getByName(final String name, Class credentialType) { + Assert.notNull(name, "credential name must not be null"); + Assert.notNull(credentialType, "credential type must not be null"); + + final ParameterizedTypeReference> ref = + new ParameterizedTypeReference>() {}; + + return doWithRest(new RestOperationsCallback>() { + @Override + public CredentialDetails doWithRestOperations(RestOperations restOperations) { + ResponseEntity> response = + restOperations.exchange(NAME_URL_QUERY_CURRENT, GET, null, ref, name); + + throwExceptionOnError(response); + + return response.getBody(); + } + }); + } + + @Override + public CredentialDetails getByName(final CredentialName name, Class credentialType) { + Assert.notNull(name, "credential name must not be null"); + + return getByName(name.getName(), credentialType); + } + + @Override + public List> getByNameWithHistory(final String name, Class credentialType) { Assert.notNull(name, "credential name must not be null"); Assert.notNull(credentialType, "credential type must not be null"); @@ -176,10 +201,10 @@ public class CredHubTemplate implements CredHubOperations { } @Override - public List> getByName(final CredentialName name, Class credentialType) { + public List> getByNameWithHistory(final CredentialName name, Class credentialType) { Assert.notNull(name, "credential name must not be null"); - return getByName(name.getName(), credentialType); + return getByNameWithHistory(name.getName(), credentialType); } @Override diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailCertificateUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailCertificateUnitTests.java index 6562092..47df684 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailCertificateUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailCertificateUnitTests.java @@ -95,14 +95,26 @@ public class CredHubTemplateDetailCertificateUnitTests } @Theory - public void getByNameWithString(@FromDataPoints("data-responses") - ResponseEntity> expectedResponse) { - verifyGetByNameWithString(expectedResponse); + public void getByNameWithString(@FromDataPoints("detail-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameUsingString(expectedResponse); } @Theory - public void getByNameWithCredentialName(@FromDataPoints("data-responses") - ResponseEntity> expectedResponse) { - verifyGetByNameWithCredentialName(expectedResponse); + public void getByNameWithCredentialName(@FromDataPoints("detail-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameUsingCredentialName(expectedResponse); + } + + @Theory + public void getByNameWithHistoryUsingString(@FromDataPoints("data-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameWithHistoryUsingString(expectedResponse); + } + + @Theory + public void getByNameWithHistoryUsingCredentialName(@FromDataPoints("data-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameWithHistoryUsingCredentialName(expectedResponse); } } \ No newline at end of file diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailJsonUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailJsonUnitTests.java index 078b64e..ecd0209 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailJsonUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailJsonUnitTests.java @@ -78,14 +78,26 @@ public class CredHubTemplateDetailJsonUnitTests } @Theory - public void getByNameWithString(@FromDataPoints("data-responses") - ResponseEntity> expectedResponse) { - verifyGetByNameWithString(expectedResponse); + public void getByNameUsingString(@FromDataPoints("detail-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameUsingString(expectedResponse); } @Theory - public void getByNameWithCredentialName(@FromDataPoints("data-responses") - ResponseEntity> expectedResponse) { - verifyGetByNameWithCredentialName(expectedResponse); + public void getByNameUsingCredentialName(@FromDataPoints("detail-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameUsingCredentialName(expectedResponse); + } + + @Theory + public void getByNameWithHistoryUsingString(@FromDataPoints("data-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameWithHistoryUsingString(expectedResponse); + } + + @Theory + public void getByNameWithHistoryUsingCredentialName(@FromDataPoints("data-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameWithHistoryUsingCredentialName(expectedResponse); } } \ No newline at end of file diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailPasswordUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailPasswordUnitTests.java index 014c4da..99505fc 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailPasswordUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailPasswordUnitTests.java @@ -91,14 +91,26 @@ public class CredHubTemplateDetailPasswordUnitTests } @Theory - public void getByNameWithString(@FromDataPoints("data-responses") - ResponseEntity> expectedResponse) { - verifyGetByNameWithString(expectedResponse); + public void getByNameUsingString(@FromDataPoints("detail-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameUsingString(expectedResponse); } @Theory - public void getByNameWithCredentialName(@FromDataPoints("data-responses") - ResponseEntity> expectedResponse) { - verifyGetByNameWithCredentialName(expectedResponse); + public void getByNameUsingCredentialName(@FromDataPoints("detail-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameUsingCredentialName(expectedResponse); + } + + @Theory + public void getByNameWithHistoryUsingString(@FromDataPoints("data-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameWithHistoryUsingString(expectedResponse); + } + + @Theory + public void getByNameWithHistoryUsingCredentialName(@FromDataPoints("data-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameWithHistoryUsingCredentialName(expectedResponse); } } \ No newline at end of file diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailRsaUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailRsaUnitTests.java index 72bdced..b81525c 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailRsaUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailRsaUnitTests.java @@ -92,14 +92,26 @@ public class CredHubTemplateDetailRsaUnitTests } @Theory - public void getByNameWithString(@FromDataPoints("data-responses") - ResponseEntity> expectedResponse) { - verifyGetByNameWithString(expectedResponse); + public void getByNameUsingString(@FromDataPoints("detail-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameUsingString(expectedResponse); } @Theory - public void getByNameWithCredentialName(@FromDataPoints("data-responses") - ResponseEntity> expectedResponse) { - verifyGetByNameWithCredentialName(expectedResponse); + public void getByNameUsingCredentialName(@FromDataPoints("detail-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameUsingCredentialName(expectedResponse); + } + + @Theory + public void getByNameWithHistoryUsingString(@FromDataPoints("data-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameWithHistoryUsingString(expectedResponse); + } + + @Theory + public void getByNameWithHistoryUsingCredentialName(@FromDataPoints("data-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameWithHistoryUsingCredentialName(expectedResponse); } } \ No newline at end of file diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailSshUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailSshUnitTests.java index 98b153b..fd79589 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailSshUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailSshUnitTests.java @@ -92,14 +92,26 @@ public class CredHubTemplateDetailSshUnitTests } @Theory - public void getByNameWithString(@FromDataPoints("data-responses") - ResponseEntity> expectedResponse) { - verifyGetByNameWithString(expectedResponse); + public void getByNameUsingString(@FromDataPoints("detail-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameUsingString(expectedResponse); } @Theory - public void getByNameWithCredentialName(@FromDataPoints("data-responses") - ResponseEntity> expectedResponse) { - verifyGetByNameWithCredentialName(expectedResponse); + public void getByNameUsingCredentialName(@FromDataPoints("detail-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameUsingCredentialName(expectedResponse); + } + + @Theory + public void getByNameWithHistoryUsingString(@FromDataPoints("data-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameWithHistoryUsingString(expectedResponse); + } + + @Theory + public void getByNameWithHistoryUsingCredentialName(@FromDataPoints("data-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameWithHistoryUsingCredentialName(expectedResponse); } } \ No newline at end of file diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailUnitTestsBase.java b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailUnitTestsBase.java index 81f6de9..8df6137 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailUnitTestsBase.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailUnitTestsBase.java @@ -41,6 +41,7 @@ import static org.mockito.Mockito.when; import static org.springframework.credhub.core.CredHubTemplate.BASE_URL_PATH; import static org.springframework.credhub.core.CredHubTemplate.ID_URL_PATH; import static org.springframework.credhub.core.CredHubTemplate.NAME_URL_QUERY; +import static org.springframework.credhub.core.CredHubTemplate.NAME_URL_QUERY_CURRENT; import static org.springframework.http.HttpMethod.GET; import static org.springframework.http.HttpMethod.POST; import static org.springframework.http.HttpMethod.PUT; @@ -125,6 +126,7 @@ public abstract class CredHubTemplateDetailUnitTestsBase extends CredHubTe } } + @SuppressWarnings("deprecation") void verifyGetById(ResponseEntity> expectedResponse) { when(restTemplate.exchange(eq(ID_URL_PATH), eq(GET), isNull(HttpEntity.class), isA(ParameterizedTypeReference.class), eq(CREDENTIAL_ID))) @@ -147,8 +149,9 @@ public abstract class CredHubTemplateDetailUnitTestsBase extends CredHubTe } } - void verifyGetByNameWithString(ResponseEntity> expectedResponse) { - when(restTemplate.exchange(eq(NAME_URL_QUERY), eq(GET), isNull(HttpEntity.class), + @SuppressWarnings("deprecation") + void verifyGetByNameUsingString(ResponseEntity> expectedResponse) { + when(restTemplate.exchange(eq(NAME_URL_QUERY_CURRENT), eq(GET), isNull(HttpEntity.class), isA(ParameterizedTypeReference.class), eq(NAME.getName()))) .thenReturn(expectedResponse); @@ -163,15 +166,16 @@ public abstract class CredHubTemplateDetailUnitTestsBase extends CredHubTe } } else { - List> response = credHubTemplate + CredentialDetails response = credHubTemplate .getByName(NAME.getName(), getType()); assertResponseContainsExpectedCredentials(expectedResponse, response); } } - void verifyGetByNameWithCredentialName(ResponseEntity> expectedResponse) { - when(restTemplate.exchange(eq(NAME_URL_QUERY), eq(GET), isNull(HttpEntity.class), + @SuppressWarnings("deprecation") + void verifyGetByNameUsingCredentialName(ResponseEntity> expectedResponse) { + when(restTemplate.exchange(eq(NAME_URL_QUERY_CURRENT), eq(GET), isNull(HttpEntity.class), isA(ParameterizedTypeReference.class), eq(NAME.getName()))) .thenReturn(expectedResponse); @@ -186,7 +190,53 @@ public abstract class CredHubTemplateDetailUnitTestsBase extends CredHubTe } } else { - List> response = credHubTemplate.getByName(NAME, getType()); + CredentialDetails response = credHubTemplate.getByName(NAME, getType()); + + assertResponseContainsExpectedCredentials(expectedResponse, response); + } + } + + @SuppressWarnings("deprecation") + void verifyGetByNameWithHistoryUsingString(ResponseEntity> expectedResponse) { + when(restTemplate.exchange(eq(NAME_URL_QUERY), eq(GET), isNull(HttpEntity.class), + isA(ParameterizedTypeReference.class), eq(NAME.getName()))) + .thenReturn(expectedResponse); + + if (!expectedResponse.getStatusCode().equals(OK)) { + try { + credHubTemplate.getByNameWithHistory(NAME.getName(), String.class); + fail("Exception should have been thrown"); + } + catch (CredHubException e) { + assertThat(e.getMessage(), + containsString(expectedResponse.getStatusCode().toString())); + } + } + else { + List> response = credHubTemplate.getByNameWithHistory(NAME.getName(), getType()); + + assertResponseContainsExpectedCredentials(expectedResponse, response); + } + } + + @SuppressWarnings("deprecation") + void verifyGetByNameWithHistoryUsingCredentialName(ResponseEntity> expectedResponse) { + when(restTemplate.exchange(eq(NAME_URL_QUERY), eq(GET), isNull(HttpEntity.class), + isA(ParameterizedTypeReference.class), eq(NAME.getName()))) + .thenReturn(expectedResponse); + + if (!expectedResponse.getStatusCode().equals(OK)) { + try { + credHubTemplate.getByNameWithHistory(NAME, String.class); + fail("Exception should have been thrown"); + } + catch (CredHubException e) { + assertThat(e.getMessage(), + containsString(expectedResponse.getStatusCode().toString())); + } + } + else { + List> response = credHubTemplate.getByNameWithHistory(NAME, getType()); assertResponseContainsExpectedCredentials(expectedResponse, response); } diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailUserUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailUserUnitTests.java index 979f43d..22cb66f 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailUserUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailUserUnitTests.java @@ -73,14 +73,26 @@ public class CredHubTemplateDetailUserUnitTests } @Theory - public void getByNameWithString(@FromDataPoints("data-responses") - ResponseEntity> expectedResponse) { - verifyGetByNameWithString(expectedResponse); + public void getByNameUsingString(@FromDataPoints("detail-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameUsingString(expectedResponse); } @Theory - public void getByNameWithCredentialName(@FromDataPoints("data-responses") - ResponseEntity> expectedResponse) { - verifyGetByNameWithCredentialName(expectedResponse); + public void getByNameUsingCredentialName(@FromDataPoints("detail-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameUsingCredentialName(expectedResponse); + } + + @Theory + public void getByNameWithHistoryUsingString(@FromDataPoints("data-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameWithHistoryUsingString(expectedResponse); + } + + @Theory + public void getByNameWithHistoryUsingCredentialName(@FromDataPoints("data-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameWithHistoryUsingCredentialName(expectedResponse); } } \ No newline at end of file diff --git a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailValueUnitTests.java b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailValueUnitTests.java index 604ed6e..fca2907 100644 --- a/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailValueUnitTests.java +++ b/spring-credhub-core/src/test/java/org/springframework/credhub/core/CredHubTemplateDetailValueUnitTests.java @@ -74,14 +74,26 @@ public class CredHubTemplateDetailValueUnitTests } @Theory - public void getByNameWithString(@FromDataPoints("data-responses") - ResponseEntity> expectedResponse) { - verifyGetByNameWithString(expectedResponse); + public void getByNameUsingString(@FromDataPoints("detail-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameUsingString(expectedResponse); } @Theory - public void getByNameWithCredentialName(@FromDataPoints("data-responses") - ResponseEntity> expectedResponse) { - verifyGetByNameWithCredentialName(expectedResponse); + public void getByNameUsingCredentialName(@FromDataPoints("detail-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameUsingCredentialName(expectedResponse); + } + + @Theory + public void getByNameWithHistoryUsingString(@FromDataPoints("data-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameWithHistoryUsingString(expectedResponse); + } + + @Theory + public void getByNameWithHistoryUsingCredentialName(@FromDataPoints("data-responses") + ResponseEntity> expectedResponse) { + verifyGetByNameWithHistoryUsingCredentialName(expectedResponse); } } \ No newline at end of file diff --git a/spring-credhub-demo/manifest.yml b/spring-credhub-demo/manifest.yml index 5c18bb0..0bf7d13 100644 --- a/spring-credhub-demo/manifest.yml +++ b/spring-credhub-demo/manifest.yml @@ -2,5 +2,5 @@ applications: - name: spring-credhub-demo memory: 1G - path: build/libs/spring-credhub-demo-1.0.0.BUILD-SNAPSHOT.jar + path: build/libs/spring-credhub-demo.jar diff --git a/spring-credhub-demo/src/main/java/org/springframework/credhub/demo/CredHubDemoController.java b/spring-credhub-demo/src/main/java/org/springframework/credhub/demo/CredHubDemoController.java index bbc018f..00fa838 100644 --- a/spring-credhub-demo/src/main/java/org/springframework/credhub/demo/CredHubDemoController.java +++ b/spring-credhub-demo/src/main/java/org/springframework/credhub/demo/CredHubDemoController.java @@ -112,7 +112,7 @@ public class CredHubDemoController { private void getCredentialsByName(CredentialName name, Results results) { try { - List> retrievedDetails = + CredentialDetails retrievedDetails = credHubTemplate.getByName(name, JsonCredential.class); saveResults(results, "Successfully retrieved credentials by name: ", retrievedDetails); } catch (Exception e) {