diff options
Diffstat (limited to 'src/main/java')
4 files changed, 128 insertions, 0 deletions
diff --git a/src/main/java/com/p4square/ccbapi/CCBAPI.java b/src/main/java/com/p4square/ccbapi/CCBAPI.java index 6b9ba2e..86bc8ea 100644 --- a/src/main/java/com/p4square/ccbapi/CCBAPI.java +++ b/src/main/java/com/p4square/ccbapi/CCBAPI.java @@ -29,6 +29,14 @@ public interface CCBAPI extends Closeable { GetLookupTableResponse getLookupTable(GetLookupTableRequest request) throws IOException; /** + * Retrieve the list of campuses. + * + * @return A {@link GetCampusListResponse} containing the campus ids and names. + * @throws IOException on failure. + */ + GetCampusListResponse getCampusList() throws IOException; + + /** * Retrieve one or more {@link IndividualProfile}s. * * If any of the following properties are set on the request, diff --git a/src/main/java/com/p4square/ccbapi/CCBAPIClient.java b/src/main/java/com/p4square/ccbapi/CCBAPIClient.java index a0335ba..2c75d62 100644 --- a/src/main/java/com/p4square/ccbapi/CCBAPIClient.java +++ b/src/main/java/com/p4square/ccbapi/CCBAPIClient.java @@ -151,6 +151,11 @@ public class CCBAPIClient implements CCBAPI { } @Override + public GetCampusListResponse getCampusList() throws IOException { + return makeRequest("campus_list", EMPTY_MAP, null, GetCampusListResponse.class); + } + + @Override public UpdateIndividualProfileResponse updateIndividualProfile(UpdateIndividualProfileRequest request) throws IOException { diff --git a/src/main/java/com/p4square/ccbapi/model/Campus.java b/src/main/java/com/p4square/ccbapi/model/Campus.java new file mode 100644 index 0000000..9d3288f --- /dev/null +++ b/src/main/java/com/p4square/ccbapi/model/Campus.java @@ -0,0 +1,78 @@ +package com.p4square.ccbapi.model; + +import javax.xml.bind.annotation.*; +import java.time.LocalDateTime; + +/** + * Representation of a Campus. + */ +@XmlRootElement(name="campus") +@XmlAccessorType(XmlAccessType.NONE) +public class Campus { + + @XmlAttribute(name="id") + private int id; + + @XmlElement(name="name") + private String name; + + @XmlElement(name="active") + private boolean active; + + @XmlElement(name="creator") + private IndividualReference createdBy; + + @XmlElement(name="created") + private LocalDateTime createdTime; + + @XmlElement(name="modifier") + private IndividualReference modifiedBy; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public boolean isActive() { + return active; + } + + public void setActive(boolean active) { + this.active = active; + } + + public IndividualReference getCreatedBy() { + return createdBy; + } + + public void setCreatedBy(IndividualReference createdBy) { + this.createdBy = createdBy; + } + + public LocalDateTime getCreatedTime() { + return createdTime; + } + + public void setCreatedTime(LocalDateTime createdTime) { + this.createdTime = createdTime; + } + + public IndividualReference getModifiedBy() { + return modifiedBy; + } + + public void setModifiedBy(IndividualReference modifiedBy) { + this.modifiedBy = modifiedBy; + } +} diff --git a/src/main/java/com/p4square/ccbapi/model/GetCampusListResponse.java b/src/main/java/com/p4square/ccbapi/model/GetCampusListResponse.java new file mode 100644 index 0000000..e5cbcaa --- /dev/null +++ b/src/main/java/com/p4square/ccbapi/model/GetCampusListResponse.java @@ -0,0 +1,37 @@ +package com.p4square.ccbapi.model; + +import javax.xml.bind.annotation.*; +import java.util.ArrayList; +import java.util.List; + +/** + * A GetCampusListResponse contains a list of campuses. + */ +@XmlRootElement(name="response") +@XmlAccessorType(XmlAccessType.NONE) +public class GetCampusListResponse extends CCBAPIResponse { + + @XmlElementWrapper(name = "campuses") + @XmlElement(name="campus") + private List<Campus> campuses; + + public GetCampusListResponse() { + campuses = new ArrayList<>(); + } + + /** + * @return The list of campuses. + */ + public List<Campus> getCampuses() { + return campuses; + } + + /** + * Set the list of campuses. + * + * @param campuses The list of campuses. + */ + public void setCampuses(final List<Campus> campuses) { + this.campuses = campuses; + } +}
\ No newline at end of file |