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());
}
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);
}
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;
}
}
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;
}
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;
}
}
Aggregations