com.evotext.clever.CleverTeachersClient 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 CleverTeachersClient class is used to execute Clever's "Teachers" API end points.
*
* @author brendanclemenzi
*/
public class CleverTeachersClient extends CleverClient
{
private String m_districtOAuthToken;
/**
*
*/
public CleverTeachersClient(String districtOAuthToken)
{
this.m_districtOAuthToken = districtOAuthToken;
}
/**
*
* @param districtOAuthToken
* @param teacherId
* @return
* @throws Exception
*/
public Teacher getTeacher(String teacherId) throws Exception
{
StringBuffer fullApiUrl = new StringBuffer();
fullApiUrl.append(getBaseUrl());
fullApiUrl.append("teachers/" + teacherId);
Map parameters = new HashMap();
JSONObject responseJSON = get(fullApiUrl.toString(), this.m_districtOAuthToken, parameters);
ObjectMapper mapper = new ObjectMapper();
Teacher objectValue = mapper.readValue(responseJSON.getString("data"), Teacher.class);
return objectValue;
}
/**
*
* @throws Exception
*/
public BigInteger countTeacherSections(String teacherId) throws Exception
{
StringBuffer fullApiUrl = new StringBuffer();
fullApiUrl.append(getBaseUrl());
fullApiUrl.append("teachers/");
fullApiUrl.append(teacherId);
fullApiUrl.append("/sections");
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;
}
/**
*
* @param districtOAuthToken
* @param teacherId
* @param limit
* @param startingAfter
* @return
* @throws Exception
*/
public List getTeacherSections(String teacherId, int limit, String startingAfter, String endingBefore) throws Exception
{
StringBuffer fullApiUrl = new StringBuffer();
fullApiUrl.append(getBaseUrl());
fullApiUrl.append("teachers/");
fullApiUrl.append(teacherId);
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 districtId
* @param limit
* @param startingAfter
* @return
* @throws Exception
*/
public List getTeacherStudents(String teacherId, int limit, String startingAfter, String endingBefore) throws Exception
{
StringBuffer fullApiUrl = new StringBuffer();
fullApiUrl.append(getBaseUrl());
fullApiUrl.append("teachers/");
fullApiUrl.append(teacherId);
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 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 getTeachers(int limit, String startingAfter, String endingBefore) throws Exception
{
StringBuffer fullApiUrl = new StringBuffer();
fullApiUrl.append(getBaseUrl());
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