Search in sources :

Example 61 with JSONObject

use of com.github.openjson.JSONObject in project openmeetings by apache.

the class TestCalendarService method testCreateWithGuests.

@Test
public void testCreateWithGuests() throws Exception {
    String sid = loginNewUser();
    AppointmentDTO dto = createEventWithGuests(sid);
    // try to change MM list
    JSONObject o1 = AppointmentParamConverter.json(dto).put("meetingMembers", new JSONArray().put(new JSONObject().put("user", new JSONObject().put("id", 1))));
    Response resp = getClient(getCalendarUrl()).path("/").query("sid", sid).form(new Form().param("appointment", o1.toString()));
    assertNotNull("Valid AppointmentDTO should be returned", resp);
    assertEquals("Call should be successful", Response.Status.OK.getStatusCode(), resp.getStatus());
    dto = resp.readEntity(AppointmentDTO.class);
    assertNotNull("Valid DTO should be returned", dto);
    assertNotNull("DTO id should be valid", dto.getId());
    assertEquals("DTO should have 1 attendees", 1, dto.getMeetingMembers().size());
}
Also used : Response(javax.ws.rs.core.Response) JSONObject(com.github.openjson.JSONObject) Form(javax.ws.rs.core.Form) AppointmentDTO(org.apache.openmeetings.db.dto.calendar.AppointmentDTO) JSONArray(com.github.openjson.JSONArray) Test(org.junit.Test)

Example 62 with JSONObject

use of com.github.openjson.JSONObject in project openmeetings by apache.

the class TestCalendarService method createEventWithGuests.

private static AppointmentDTO createEventWithGuests(String sid) throws Exception {
    JSONObject o = createAppointment("test").put("meetingMembers", new JSONArray().put(new JSONObject().put("user", new JSONObject().put("firstname", "John 1").put("lastname", "Doe").put("address", new JSONObject().put("email", "john1@doe.email")))).put(new JSONObject().put("user", new JSONObject().put("firstname", "John 2").put("lastname", "Doe").put("address", new JSONObject().put("email", "john2@doe.email")))));
    Response resp = getClient(getCalendarUrl()).path("/").query("sid", sid).form(new Form().param("appointment", o.toString()));
    assertNotNull("Valid AppointmentDTO should be returned", resp);
    assertEquals("Call should be successful", Response.Status.OK.getStatusCode(), resp.getStatus());
    AppointmentDTO dto = resp.readEntity(AppointmentDTO.class);
    assertNotNull("Valid DTO should be returned", dto);
    assertNotNull("DTO id should be valid", dto.getId());
    assertEquals("DTO should have 2 attendees", 2, dto.getMeetingMembers().size());
    for (MeetingMemberDTO mm : dto.getMeetingMembers()) {
        assertNotNull("Email should be valid", mm.getUser().getAddress().getEmail());
    }
    return dto;
}
Also used : Response(javax.ws.rs.core.Response) JSONObject(com.github.openjson.JSONObject) Form(javax.ws.rs.core.Form) JSONArray(com.github.openjson.JSONArray) AppointmentDTO(org.apache.openmeetings.db.dto.calendar.AppointmentDTO) MeetingMemberDTO(org.apache.openmeetings.db.dto.calendar.MeetingMemberDTO)

Example 63 with JSONObject

use of com.github.openjson.JSONObject in project openmeetings by apache.

the class TestCalendarService method testCreateWithGuestsCleanOne.

@Test
public void testCreateWithGuestsCleanOne() throws Exception {
    String sid = loginNewUser();
    AppointmentDTO dto = createEventWithGuests(sid);
    List<MeetingMemberDTO> initialList = new ArrayList<>(dto.getMeetingMembers());
    MeetingMemberDao mmDao = getBean(MeetingMemberDao.class);
    MeetingMember mm = mmDao.get(initialList.get(initialList.size() - 1).getId());
    Long mmId = mm.getId(), mmUserId = mm.getUser().getId();
    String hash = mm.getInvitation().getHash();
    dto.getMeetingMembers().remove(initialList.size() - 1);
    // try to change MM list
    JSONObject o = AppointmentParamConverter.json(dto);
    Response resp = getClient(getCalendarUrl()).path("/").query("sid", sid).form(new Form().param("appointment", o.toString()));
    assertNotNull("Valid AppointmentDTO should be returned", resp);
    assertEquals("Call should be successful", Response.Status.OK.getStatusCode(), resp.getStatus());
    dto = resp.readEntity(AppointmentDTO.class);
    assertNotNull("Valid DTO should be returned", dto);
    assertNotNull("DTO id should be valid", dto.getId());
    assertEquals("DTO should have 1 attendees", 1, dto.getMeetingMembers().size());
    assertNull("Meeting member should deleted", mmDao.get(mmId));
    assertNull("Invitation should deleted", getBean(InvitationDao.class).getByHash(hash, true, false));
    User uc = getBean(UserDao.class).get(mmUserId);
    assertNotNull("Meeting member user should not be deleted", uc);
    assertFalse("Meeting member user should not be deleted", uc.isDeleted());
}
Also used : User(org.apache.openmeetings.db.entity.user.User) AbstractJUnitDefaults.createUser(org.apache.openmeetings.AbstractJUnitDefaults.createUser) GroupUser(org.apache.openmeetings.db.entity.user.GroupUser) AbstractJUnitDefaults.getUser(org.apache.openmeetings.AbstractJUnitDefaults.getUser) Form(javax.ws.rs.core.Form) ArrayList(java.util.ArrayList) MeetingMember(org.apache.openmeetings.db.entity.calendar.MeetingMember) MeetingMemberDao(org.apache.openmeetings.db.dao.calendar.MeetingMemberDao) Response(javax.ws.rs.core.Response) JSONObject(com.github.openjson.JSONObject) UserDao(org.apache.openmeetings.db.dao.user.UserDao) AppointmentDTO(org.apache.openmeetings.db.dto.calendar.AppointmentDTO) MeetingMemberDTO(org.apache.openmeetings.db.dto.calendar.MeetingMemberDTO) Test(org.junit.Test)

Example 64 with JSONObject

use of com.github.openjson.JSONObject in project openmeetings by apache.

the class AppointmentListMessageBodyWriter method writeTo.

@Override
public void writeTo(List<AppointmentDTO> t, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String, Object> httpHeaders, OutputStream out) throws IOException {
    Writer writer = new OutputStreamWriter(out, UTF_8);
    JSONArray rr = new JSONArray();
    for (AppointmentDTO dto : t) {
        rr.put(AppointmentParamConverter.json(dto));
    }
    writer.write(new JSONObject().put(ROOT, rr).toString());
    writer.flush();
}
Also used : JSONObject(com.github.openjson.JSONObject) JSONArray(com.github.openjson.JSONArray) AppointmentDTO(org.apache.openmeetings.db.dto.calendar.AppointmentDTO) OutputStreamWriter(java.io.OutputStreamWriter) MessageBodyWriter(javax.ws.rs.ext.MessageBodyWriter) Writer(java.io.Writer) OutputStreamWriter(java.io.OutputStreamWriter)

Aggregations

JSONObject (com.github.openjson.JSONObject)64 JSONArray (com.github.openjson.JSONArray)23 Test (org.junit.jupiter.api.Test)11 AppointmentDTO (org.apache.openmeetings.db.dto.calendar.AppointmentDTO)7 Client (org.apache.openmeetings.db.entity.basic.Client)7 ArrayList (java.util.ArrayList)6 Whiteboard (org.apache.openmeetings.db.dto.room.Whiteboard)6 NullStringer (org.apache.openmeetings.util.NullStringer)6 Form (javax.ws.rs.core.Form)5 Response (javax.ws.rs.core.Response)5 List (java.util.List)4 Map (java.util.Map)4 OutputStreamWriter (java.io.OutputStreamWriter)3 Writer (java.io.Writer)3 MessageBodyWriter (javax.ws.rs.ext.MessageBodyWriter)3 Room (org.apache.openmeetings.db.entity.room.Room)3 WicketRuntimeException (org.apache.wicket.WicketRuntimeException)3 JSONFunction (org.apache.wicket.ajax.json.JSONFunction)3 PageParameters (org.apache.wicket.request.mapper.parameter.PageParameters)3 JSONException (com.github.openjson.JSONException)2