List of usage examples for com.google.gson GsonBuilder registerTypeAdapter
@SuppressWarnings({ "unchecked", "rawtypes" }) public GsonBuilder registerTypeAdapter(Type type, Object typeAdapter)
From source file:edu.uoc.pelp.engine.campus.UOC.CampusConnection.java
License:Open Source License
private PersonList getCampusPersonData() { if (_token == null) { return null; }/*from w w w . ja va 2 s .c om*/ String userJSON = Get("people"); GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.registerTypeAdapter(java.util.Date.class, new DateDeserializer()); Gson gson = gsonBuilder.create(); return gson.fromJson(userJSON, PersonList.class); }
From source file:edu.uoc.pelp.engine.campus.UOC.CampusConnection.java
License:Open Source License
private edu.uoc.pelp.engine.campus.UOC.vo.Person getCampusPersonData(String id) { if (_token == null || id == null) { return null; }/*from ww w.j a v a 2 s . co m*/ String userJSON = Get("people/" + id); GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.registerTypeAdapter(java.util.Date.class, new DateDeserializer()); Gson gson = gsonBuilder.create(); return gson.fromJson(userJSON, edu.uoc.pelp.engine.campus.UOC.vo.Person.class); }
From source file:edu.uoc.pelp.engine.campus.UOC.CampusConnection.java
License:Open Source License
private ClassroomList getCampusUserSubjects() { if (_token == null) { return null; }//from w w w . j av a 2s . c o m if (campusUserSubjects == null) { campusUserSubjects = Get("subjects"); } GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.registerTypeAdapter(java.util.Date.class, new DateDeserializer()); Gson gson = gsonBuilder.create(); return gson.fromJson(campusUserSubjects, ClassroomList.class); }
From source file:edu.uoc.pelp.engine.campus.UOC.CampusConnection.java
License:Open Source License
private edu.uoc.pelp.engine.campus.UOC.vo.Classroom getSubjectData(String id) { if (_token == null || id == null) { return null; }/*from w w w . ja v a2 s . com*/ String userJSON = Get("subjects/" + id); GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.registerTypeAdapter(java.util.Date.class, new DateDeserializer()); Gson gson = gsonBuilder.create(); return gson.fromJson(userJSON, edu.uoc.pelp.engine.campus.UOC.vo.Classroom.class); }
From source file:edu.uoc.pelp.engine.campus.UOC.CampusConnection.java
License:Open Source License
@Override public IClassroomID[] getUserClassrooms(UserRoles userRole, ISubjectID subject) throws AuthPelpException { if (classroomsString == null) classroomsString = Get("classrooms"); log.info("classroomsString: " + classroomsString); GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.registerTypeAdapter(java.util.Date.class, new DateDeserializer()); Gson gson = gsonBuilder.create();/* w w w . ja va 2s .co m*/ ClassroomList classroomList = gson.fromJson(classroomsString, ClassroomList.class); edu.uoc.pelp.engine.campus.UOC.vo.Classroom[] classrooms = classroomList.getClassrooms(); List<IClassroomID> lista = new ArrayList<IClassroomID>(); if (subject != null) { // Filtramos por asignatura SubjectID subjectID = (SubjectID) subject; for (edu.uoc.pelp.engine.campus.UOC.vo.Classroom classroom : classrooms) { // comparamos solo el codigo de asignatura y el semestre // new SubjectID(getCode(classroom.getCode() ), new Semester( getSemester(classroom.getCode() )), classroom.getId()) ) if (subjectID.getCode().equals(getCode(classroom.getCode())) && subjectID.getSemester().equals(new Semester(getSemester(classroom.getCode())))) { subjectID.setDomainID(classroom.getFatherId()); ClassroomID classroomID = new ClassroomID(subjectID, getNumAula(classroom.getCode())); if (userRole != null) { if (userRole.compareTo(UserRoles.Student) == 0 && isStudent(classroom.getAssignments())) { lista.add(classroomID); } if (userRole.compareTo(UserRoles.Teacher) == 0 && isTeacher(classroom.getAssignments())) { lista.add(classroomID); } if (userRole.compareTo(UserRoles.MainTeacher) == 0 && isTeacher(classroom.getAssignments())) { lista.add(classroomID); } } else { if (isTeacher(classroom.getAssignments()) || isStudent(classroom.getAssignments())) { lista.add(classroomID); } } } } } else { // Devolvemos todas las aulas for (edu.uoc.pelp.engine.campus.UOC.vo.Classroom classroom : classrooms) { SubjectID subjectID = new SubjectID(getCode(classroom.getCode()), new Semester(getSemester(classroom.getCode())), classroom.getId()); ClassroomID classroomID = new ClassroomID(subjectID, getNumAula(classroom.getCode())); if (userRole != null) { if (userRole.compareTo(UserRoles.Student) == 0 && isStudent(classroom.getAssignments())) { lista.add(classroomID); } if (userRole.compareTo(UserRoles.Teacher) == 0 && isTeacher(classroom.getAssignments())) { lista.add(classroomID); } if (userRole.compareTo(UserRoles.MainTeacher) == 0 && isTeacher(classroom.getAssignments())) { lista.add(classroomID); } } else { if (isTeacher(classroom.getAssignments()) || isStudent(classroom.getAssignments())) { lista.add(classroomID); } } } } IClassroomID[] retVal = new IClassroomID[lista.size()]; lista.toArray(retVal); return retVal; }
From source file:edu.uoc.pelp.engine.campus.UOC.CampusConnection.java
License:Open Source License
@Override public Classroom getClassroomData(IClassroomID classroomID) throws AuthPelpException { // Get custom subject identifier ClassroomID classroomId = (ClassroomID) classroomID; SubjectID subjectId = classroomId.getSubject(); Classroom classroom = new Classroom(classroomId); try {/*ww w .ja va 2 s .co m*/ if (classroomsString == null) classroomsString = Get("classrooms"); log.info("classroomsString: " + classroomsString); GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.registerTypeAdapter(java.util.Date.class, new DateDeserializer()); Gson gson = gsonBuilder.create(); ClassroomList classroomList = gson.fromJson(classroomsString, ClassroomList.class); String identificadorAula = null; if (classroomList != null) { edu.uoc.pelp.engine.campus.UOC.vo.Classroom[] classrooms = classroomList.getClassrooms(); List<IClassroomID> lista = new ArrayList<IClassroomID>(); for (edu.uoc.pelp.engine.campus.UOC.vo.Classroom classroomUOC : classrooms) { if (classroomUOC.getFatherId().equals(subjectId.getDomainID())) { // Misma asignatura if (getNumAula(classroomUOC.getCode()) == classroomId.getClassIdx().intValue()) { identificadorAula = classroomUOC.getId(); break; } } } } if (identificadorAula != null) { classroom.setSubjectRef(getSubjectData(subjectId)); /* * Comentado por motivos de rendimiento * buscando por referencias parece que no se utiliza esta informacion * * */ // Obtener estudiantes del aula String classroomStudentsString = Get("classrooms/" + identificadorAula + "/people/students"); log.info("classroomStudentsString: " + classroomStudentsString); gsonBuilder = new GsonBuilder(); gson = gsonBuilder.create(); UserList studentList = gson.fromJson(classroomStudentsString, UserList.class); User[] users = studentList.getUsers(); for (User user : users) { classroom.addStudent(new Person(new UserID(user.getId()))); } //Obtener profesores del aula String classroomTeachersString = Get("classrooms/" + identificadorAula + "/people/teachers"); log.info("classroomStudentsString: " + classroomStudentsString); gsonBuilder = new GsonBuilder(); gson = gsonBuilder.create(); UserList teachersList = gson.fromJson(classroomTeachersString, UserList.class); users = teachersList.getUsers(); for (User user : users) { classroom.addTeacher(new Person(new UserID(user.getId()))); } } } catch (Exception e) { e.printStackTrace(); } return classroom; }
From source file:edu.wpi.cs.wpisuitetng.modules.core.entitymanagers.ProjectManager.java
License:Open Source License
public ProjectManager(Data data) { this.data = data; // hang the custom serializer/deserializer GsonBuilder builder = new GsonBuilder(); builder.registerTypeAdapter(this.project, new ProjectDeserializer()); this.gson = builder.create(); }
From source file:edu.wpi.cs.wpisuitetng.modules.core.entitymanagers.UserManager.java
License:Open Source License
/** * Creates a UserManager operating on the given Data. * Attaches the custom serializer and deserializers for the Gson library. * Determines the algorithm used to secure passwords. * @param data//from www.j a v a2s . c o m */ public UserManager(Data data) { this.data = data; this.passwordHash = new Sha256Password(); // build the custom serializer/deserializer GsonBuilder builder = new GsonBuilder(); builder.registerTypeAdapter(this.user, new UserDeserializer()); this.gson = builder.create(); }
From source file:edu.wpi.cs.wpisuitetng.modules.core.models.Project.java
License:Open Source License
/** * Deserializes the given JSON String into a Project's member variables * @return the Project from the given JSON string representation *//*from ww w .j a v a 2 s .c o m*/ public static Project fromJSON(String json) { Gson gson; GsonBuilder builder = new GsonBuilder(); builder.registerTypeAdapter(Project.class, new ProjectDeserializer()); gson = builder.create(); return gson.fromJson(json, Project.class); }