Search in sources :

Example 16 with OpenMeetingsRoomReference

use of org.olat.modules.openmeetings.model.OpenMeetingsRoomReference in project OpenOLAT by OpenOLAT.

the class OpenMeetingsDAOTest method createReference.

@Test
public void createReference() {
    OLATResourceable ores = OresHelper.createOLATResourceableInstance(UUID.randomUUID().toString(), 1l);
    OpenMeetingsRoom room = new OpenMeetingsRoom();
    room.setRoomId(123l);
    OpenMeetingsRoomReference ref = openMeetingsDAO.createReference(null, ores, "hello", room);
    Assert.assertNotNull(ref);
    Assert.assertNotNull(ref.getKey());
    Assert.assertNotNull(ref.getCreationDate());
    Assert.assertNotNull(ref.getLastModified());
    Assert.assertEquals(ores.getResourceableTypeName(), ref.getResourceTypeName());
    Assert.assertEquals(ores.getResourceableId(), ref.getResourceTypeId());
    Assert.assertEquals(123l, ref.getRoomId());
}
Also used : OpenMeetingsRoom(org.olat.modules.openmeetings.model.OpenMeetingsRoom) OLATResourceable(org.olat.core.id.OLATResourceable) OpenMeetingsRoomReference(org.olat.modules.openmeetings.model.OpenMeetingsRoomReference) Test(org.junit.Test)

Example 17 with OpenMeetingsRoomReference

use of org.olat.modules.openmeetings.model.OpenMeetingsRoomReference in project OpenOLAT by OpenOLAT.

the class OpenMeetingsDAO method delete.

public void delete(OpenMeetingsRoomReference ref) {
    OpenMeetingsRoomReference reloadedRef = dbInstance.getCurrentEntityManager().getReference(OpenMeetingsRoomReference.class, ref.getKey());
    dbInstance.getCurrentEntityManager().remove(reloadedRef);
}
Also used : OpenMeetingsRoomReference(org.olat.modules.openmeetings.model.OpenMeetingsRoomReference)

Example 18 with OpenMeetingsRoomReference

use of org.olat.modules.openmeetings.model.OpenMeetingsRoomReference in project OpenOLAT by OpenOLAT.

the class OpenMeetingsManagerImpl method addRoom.

@Override
public OpenMeetingsRoom addRoom(BusinessGroup group, OLATResourceable ores, String subIdentifier, OpenMeetingsRoom room) {
    if (room.getRoomId() < 0) {
        updateRoom(group, ores, subIdentifier, room);
    }
    try {
        String sid = adminLogin();
        RoomServicePortType roomWs = getRoomWebService();
        long returned = roomWs.addRoomWithModerationAndRecordingFlags(sid, room.getName(), room.getType(), room.getComment(), room.getSize(), false, false, false, 0, room.isModerated(), getOpenOLATExternalType(), true, room.isAudioOnly(), false, true);
        if (returned >= 0) {
            room.setRoomId(returned);
            log.audit("Room created");
            OpenMeetingsRoomReference ref = openMeetingsDao.createReference(group, ores, subIdentifier, room);
            room.setReference(ref);
            return room;
        }
        return null;
    } catch (Exception e) {
        log.error("", e);
        return null;
    }
}
Also used : OpenMeetingsRoomReference(org.olat.modules.openmeetings.model.OpenMeetingsRoomReference) RoomServicePortType(org.apache.openmeetings.axis.services.RoomServicePortType) ConnectException(java.net.ConnectException)

Example 19 with OpenMeetingsRoomReference

use of org.olat.modules.openmeetings.model.OpenMeetingsRoomReference in project OpenOLAT by OpenOLAT.

the class OpenMeetingsManagerImpl method getLocalRoom.

@Override
public OpenMeetingsRoom getLocalRoom(BusinessGroup group, OLATResourceable ores, String subIdentifier) {
    OpenMeetingsRoomReference ref = openMeetingsDao.getReference(group, ores, subIdentifier);
    if (ref == null) {
        return null;
    }
    OpenMeetingsRoom room = openMeetingsDao.deserializeRoom(ref.getConfig());
    room.setReference(ref);
    return room;
}
Also used : OpenMeetingsRoom(org.olat.modules.openmeetings.model.OpenMeetingsRoom) OpenMeetingsRoomReference(org.olat.modules.openmeetings.model.OpenMeetingsRoomReference)

Example 20 with OpenMeetingsRoomReference

use of org.olat.modules.openmeetings.model.OpenMeetingsRoomReference in project OpenOLAT by OpenOLAT.

the class OpenMeetingsManagerImpl method getOpenOLATRooms.

@Override
public List<OpenMeetingsRoom> getOpenOLATRooms() {
    try {
        String adminSID = adminLogin();
        RoomServicePortType roomWs = getRoomWebService();
        GetRoomsWithCurrentUsersByListAndType getRooms = new GetRoomsWithCurrentUsersByListAndType();
        getRooms.setAsc(true);
        getRooms.setExternalRoomType(getOpenOLATExternalType());
        getRooms.setOrderby("name");
        getRooms.setStart(0);
        getRooms.setMax(2000);
        getRooms.setSID(adminSID);
        Map<Long, RoomReturnInfo> realRooms = new HashMap<Long, RoomReturnInfo>();
        // get rooms on openmeetings
        List<RoomReturn> roomsRet = roomWs.getRoomsWithCurrentUsersByListAndType(adminSID, 0, 2000, "name", true, getOpenOLATExternalType());
        if (roomsRet != null) {
            for (RoomReturn roomRet : roomsRet) {
                RoomReturnInfo info = new RoomReturnInfo();
                info.setName(roomRet.getName());
                info.setRoomId(roomRet.getRoomId());
                int numOfUsers = 0;
                if (roomRet.getRoomUser() != null) {
                    for (RoomUser user : roomRet.getRoomUser()) {
                        if (user != null) {
                            numOfUsers++;
                        }
                    }
                }
                info.setNumOfUsers(numOfUsers);
                realRooms.put(new Long(roomRet.getRoomId()), info);
            }
        }
        // get properties saved
        List<OpenMeetingsRoomReference> props = openMeetingsDao.getReferences();
        Map<Long, String> roomIdToResources = getResourceNames(props);
        List<OpenMeetingsRoom> rooms = new ArrayList<OpenMeetingsRoom>();
        for (OpenMeetingsRoomReference prop : props) {
            Long roomId = new Long(prop.getRoomId());
            RoomReturnInfo infos = realRooms.get(roomId);
            if (infos != null) {
                OpenMeetingsRoom room = openMeetingsDao.deserializeRoom(prop.getConfig());
                room.setReference(prop);
                room.setName(infos.getName());
                room.setNumOfUsers(infos.getNumOfUsers());
                String resourceName = roomIdToResources.get(roomId);
                if (resourceName != null) {
                    room.setResourceName(resourceName);
                }
                rooms.add(room);
            }
        }
        return rooms;
    } catch (Exception e) {
        log.error("", e);
        return null;
    }
}
Also used : RoomUser(org.apache.openmeetings.axis.services.xsd.RoomUser) OpenMeetingsRoom(org.olat.modules.openmeetings.model.OpenMeetingsRoom) GetRoomsWithCurrentUsersByListAndType(org.apache.openmeetings.axis.services.GetRoomsWithCurrentUsersByListAndType) RoomReturn(org.apache.openmeetings.axis.services.xsd.RoomReturn) HashMap(java.util.HashMap) OpenMeetingsRoomReference(org.olat.modules.openmeetings.model.OpenMeetingsRoomReference) ArrayList(java.util.ArrayList) ConnectException(java.net.ConnectException) RoomServicePortType(org.apache.openmeetings.axis.services.RoomServicePortType) RoomReturnInfo(org.olat.modules.openmeetings.model.RoomReturnInfo)

Aggregations

OpenMeetingsRoomReference (org.olat.modules.openmeetings.model.OpenMeetingsRoomReference)24 OpenMeetingsRoom (org.olat.modules.openmeetings.model.OpenMeetingsRoom)12 OLATResourceable (org.olat.core.id.OLATResourceable)8 ConnectException (java.net.ConnectException)6 Test (org.junit.Test)6 ArrayList (java.util.ArrayList)4 Date (java.util.Date)4 HashMap (java.util.HashMap)4 RoomServicePortType (org.apache.openmeetings.axis.services.RoomServicePortType)4 List (java.util.List)2 GetRoomsWithCurrentUsersByListAndType (org.apache.openmeetings.axis.services.GetRoomsWithCurrentUsersByListAndType)2 RoomReturn (org.apache.openmeetings.axis.services.xsd.RoomReturn)2 RoomUser (org.apache.openmeetings.axis.services.xsd.RoomUser)2 WindowControl (org.olat.core.gui.control.WindowControl)2 BusinessControl (org.olat.core.id.context.BusinessControl)2 RoomReturnInfo (org.olat.modules.openmeetings.model.RoomReturnInfo)2 RepositoryEntry (org.olat.repository.RepositoryEntry)2 RepositoryEntryShortImpl (org.olat.repository.model.RepositoryEntryShortImpl)2