From 950f3cf44cdea5f03c1172a84fde96d828502329 Mon Sep 17 00:00:00 2001 From: pski Date: Thu, 2 Oct 2014 15:23:08 -0400 Subject: [PATCH 1/3] Added support for institutions --- .../client/DefaultPlaidPublicClient.java | 9 +++- .../plaid/client/response/Credentials.java | 31 ++++++++++++++ .../plaid/client/response/Institution.java | 42 +++++++++++++++++++ .../client/response/InstitutionsResponse.java | 21 ++++++++++ 4 files changed, 102 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/plaid/client/response/Credentials.java create mode 100644 src/main/java/com/plaid/client/response/Institution.java create mode 100644 src/main/java/com/plaid/client/response/InstitutionsResponse.java diff --git a/src/main/java/com/plaid/client/DefaultPlaidPublicClient.java b/src/main/java/com/plaid/client/DefaultPlaidPublicClient.java index b828ea1398..8422a2a1e8 100644 --- a/src/main/java/com/plaid/client/DefaultPlaidPublicClient.java +++ b/src/main/java/com/plaid/client/DefaultPlaidPublicClient.java @@ -8,6 +8,8 @@ import com.plaid.client.request.MappingOptions; import com.plaid.client.response.CategoriesResponse; import com.plaid.client.response.Category; +import com.plaid.client.response.Institution; +import com.plaid.client.response.InstitutionsResponse; public class DefaultPlaidPublicClient implements PlaidPublicClient { @@ -33,7 +35,12 @@ public Object getInstitution(String institutionId) { @Override public Object getAllInstitutions() { - throw new UnsupportedOperationException("Not implemented yet"); + + PlaidHttpRequest request = new PlaidHttpRequest("/institutions"); + + HttpResponseWrapper response = httpDelegate.doGet(request, Institution[].class); + + return new InstitutionsResponse(response.getResponseBody()); } @Override diff --git a/src/main/java/com/plaid/client/response/Credentials.java b/src/main/java/com/plaid/client/response/Credentials.java new file mode 100644 index 0000000000..c2fdc36c00 --- /dev/null +++ b/src/main/java/com/plaid/client/response/Credentials.java @@ -0,0 +1,31 @@ +package com.plaid.client.response; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; + +@JsonIgnoreProperties(ignoreUnknown=true) +public class Credentials { + + private String password; + private String username; + private String pin; + + public String getPassword() { + return password; + } + public void setPassword(String password) { + this.password = password; + } + public String getUsername() { + return username; + } + public void setUsername(String username) { + this.username = username; + } + public String getPin() { + return pin; + } + public void setPin(String pin) { + this.pin = pin; + } + +} diff --git a/src/main/java/com/plaid/client/response/Institution.java b/src/main/java/com/plaid/client/response/Institution.java new file mode 100644 index 0000000000..c8727151a6 --- /dev/null +++ b/src/main/java/com/plaid/client/response/Institution.java @@ -0,0 +1,42 @@ +package com.plaid.client.response; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; + +@JsonIgnoreProperties(ignoreUnknown=true) +public class Institution { + + private String name; + private String type; + private Credentials credentials; + private Boolean hasMfa; + + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getType() { + return type; + } + public void setType(String type) { + this.type = type; + } + public Credentials getCredentials() { + return credentials; + } + public void setCredentials(Credentials credentials) { + this.credentials = credentials; + } + + @JsonProperty("has_mfa") + public Boolean getHasMfa() { + return hasMfa; + } + public void setHasMfa(Boolean hasMfa) { + this.hasMfa = hasMfa; + } + + +} diff --git a/src/main/java/com/plaid/client/response/InstitutionsResponse.java b/src/main/java/com/plaid/client/response/InstitutionsResponse.java new file mode 100644 index 0000000000..5658acd91b --- /dev/null +++ b/src/main/java/com/plaid/client/response/InstitutionsResponse.java @@ -0,0 +1,21 @@ +package com.plaid.client.response; + +import java.util.Arrays; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; + +@JsonIgnoreProperties(ignoreUnknown=true) +public class InstitutionsResponse { + + private List institutions; + + public InstitutionsResponse(Institution[] institutions) { + this.institutions = Arrays.asList(institutions); + } + + public List getInstitutions() { + return institutions; + } + +} From 222d2e98f60a43c3aa5ebfc9ee89594130a5397c Mon Sep 17 00:00:00 2001 From: pski Date: Thu, 2 Oct 2014 15:26:08 -0400 Subject: [PATCH 2/3] added toString --- src/main/java/com/plaid/client/response/ErrorResponse.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/com/plaid/client/response/ErrorResponse.java b/src/main/java/com/plaid/client/response/ErrorResponse.java index 31883604c7..b8d97e14f1 100644 --- a/src/main/java/com/plaid/client/response/ErrorResponse.java +++ b/src/main/java/com/plaid/client/response/ErrorResponse.java @@ -27,4 +27,9 @@ public String getResolve() { public void setResolve(String resolve) { this.resolve = resolve; } + @Override + public String toString() { + return "ErrorResponse [code=" + code + ", message=" + message + ", resolve=" + resolve + "]"; + } + } From 77f82e6d861ce1d540c5080ae45aa6feda003cd5 Mon Sep 17 00:00:00 2001 From: pski Date: Wed, 29 Jul 2015 10:43:42 -0400 Subject: [PATCH 3/3] banished .DS_ignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index c277ec4914..234ef7f928 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /.classpath /.project /target +.DS_store