com.evotext.clever.CleverStudentsClient Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of clever-java Show documentation
Show all versions of clever-java Show documentation
The Clever-Java project is a Java wrapper for the Clever.com API for keeping educational applications rostered and up-to-date.
package com.evotext.clever;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.json.JSONArray;
import org.json.JSONObject;
import com.evotext.clever.model.Paging;
import com.evotext.clever.model.Section;
import com.evotext.clever.model.Student;
import com.evotext.clever.model.Teacher;
import com.evotext.clever.util.StringUtil;
import com.fasterxml.jackson.databind.ObjectMapper;
/**
* The CleverStudentsClient class is used to execute Clever's "students" API end points.
*
* @author brendanclemenzi
*/
public class CleverStudentsClient extends CleverClient
{
private String m_districtOAuthToken;
/**
*
*/
public CleverStudentsClient(String districtOAuthToken)
{
this.m_districtOAuthToken = districtOAuthToken;
}
/**
*
* @param districtOAuthToken
* @param studentId
* @return
* @throws Exception
*/
public Student getStudent(String studentId) throws Exception
{
StringBuffer fullApiUrl = new StringBuffer();
fullApiUrl.append(getBaseUrl());
fullApiUrl.append("students/" + studentId);
Map parameters = new HashMap();
JSONObject responseJSON = get(fullApiUrl.toString(), this.m_districtOAuthToken, parameters);
ObjectMapper mapper = new ObjectMapper();
Student objectValue = mapper.readValue(responseJSON.getString("data"), Student.class);
return objectValue;
}
/**
*
* @throws Exception
*/
public BigInteger countStudentTeachers(String studentId) throws Exception
{
StringBuffer fullApiUrl = new StringBuffer();
fullApiUrl.append(getBaseUrl());
fullApiUrl.append("students/");
fullApiUrl.append(studentId);
fullApiUrl.append("/teachers");
Map parameters = new HashMap();
parameters.put("limit", 1);
JSONObject responseJSON = get(fullApiUrl.toString(), this.m_districtOAuthToken, parameters);
ObjectMapper mapper = new ObjectMapper();
Paging pagingValue = mapper.readValue(responseJSON.getString("paging"), Paging.class);
BigInteger recordCount = new BigInteger(pagingValue.getTotal());
return recordCount;
}
/**
*
* @throws Exception
*/
public List getStudentTeachers(String studentId, int limit, String startingAfter, String endingBefore) throws Exception
{
StringBuffer fullApiUrl = new StringBuffer();
fullApiUrl.append(getBaseUrl());
fullApiUrl.append("students/");
fullApiUrl.append(studentId);
fullApiUrl.append("/teachers");
Map parameters = new HashMap();
parameters.put("limit", limit);
if(!StringUtil.isNullOrEmpty(startingAfter))
{
parameters.put("starting_after", startingAfter);
}
if(!StringUtil.isNullOrEmpty(endingBefore))
{
parameters.put("ending_before", endingBefore);
}
JSONObject responseJSON = get(fullApiUrl.toString(), this.m_districtOAuthToken, parameters);
JSONArray dataJSON = responseJSON.getJSONArray("data");
ObjectMapper mapper = new ObjectMapper();
List objectList = new ArrayList();
for(int i=0; i parameters = new HashMap();
parameters.put("limit", 1);
JSONObject responseJSON = get(fullApiUrl.toString(), this.m_districtOAuthToken, parameters);
ObjectMapper mapper = new ObjectMapper();
Paging pagingValue = mapper.readValue(responseJSON.getString("paging"), Paging.class);
BigInteger recordCount = new BigInteger(pagingValue.getTotal());
return recordCount;
}
/**
*
* @param districtOAuthToken
* @param studentId
* @param limit
* @param startingAfter
* @return
* @throws Exception
*/
public List getStudentSections(String studentId, int limit, String startingAfter, String endingBefore) throws Exception
{
StringBuffer fullApiUrl = new StringBuffer();
fullApiUrl.append(getBaseUrl());
fullApiUrl.append("students/");
fullApiUrl.append(studentId);
fullApiUrl.append("/sections");
Map parameters = new HashMap();
parameters.put("limit", limit);
if(!StringUtil.isNullOrEmpty(startingAfter))
{
parameters.put("starting_after", startingAfter);
}
if(!StringUtil.isNullOrEmpty(endingBefore))
{
parameters.put("ending_before", endingBefore);
}
JSONObject responseJSON = get(fullApiUrl.toString(), this.m_districtOAuthToken, parameters);
JSONArray dataJSON = responseJSON.getJSONArray("data");
ObjectMapper mapper = new ObjectMapper();
List objectList = new ArrayList();
for(int i=0; i parameters = new HashMap();
parameters.put("limit", 1);
JSONObject responseJSON = get(fullApiUrl.toString(), this.m_districtOAuthToken, parameters);
ObjectMapper mapper = new ObjectMapper();
Paging pagingValue = mapper.readValue(responseJSON.getString("paging"), Paging.class);
BigInteger recordCount = new BigInteger(pagingValue.getTotal());
return recordCount;
}
/**
*
* @param districtOAuthToken
* @param limit
* @param startingAfter
* @return
* @throws Exception
*/
public List getStudents(int limit, String startingAfter, String endingBefore) throws Exception
{
StringBuffer fullApiUrl = new StringBuffer();
fullApiUrl.append(getBaseUrl());
fullApiUrl.append("students");
Map parameters = new HashMap();
parameters.put("limit", limit);
if(!StringUtil.isNullOrEmpty(startingAfter))
{
parameters.put("starting_after", startingAfter);
}
if(!StringUtil.isNullOrEmpty(endingBefore))
{
parameters.put("ending_before", endingBefore);
}
JSONObject responseJSON = get(fullApiUrl.toString(), this.m_districtOAuthToken, parameters);
JSONArray dataJSON = responseJSON.getJSONArray("data");
ObjectMapper mapper = new ObjectMapper();
List objectList = new ArrayList();
for(int i=0; i