Search in sources :

Example 41 with Room

use of org.apache.openmeetings.db.entity.room.Room in project openmeetings by apache.

the class BackupExport method exportRoom.

/*
	 * ##################### Backup Room
	 */
private void exportRoom(ZipOutputStream zos, ProgressHolder progressHolder) throws Exception {
    Registry registry = new Registry();
    Strategy strategy = new RegistryStrategy(registry);
    Serializer serializer = new Persister(strategy);
    registry.bind(User.class, UserConverter.class);
    registry.bind(Room.Type.class, RoomTypeConverter.class);
    List<Room> list = roomDao.get();
    bindDate(registry, list);
    writeList(serializer, zos, "rooms.xml", "rooms", list);
    progressHolder.setProgress(15);
}
Also used : RegistryStrategy(org.simpleframework.xml.convert.RegistryStrategy) Strategy(org.simpleframework.xml.strategy.Strategy) RegistryStrategy(org.simpleframework.xml.convert.RegistryStrategy) Registry(org.simpleframework.xml.convert.Registry) Persister(org.simpleframework.xml.core.Persister) Room(org.apache.openmeetings.db.entity.room.Room) Serializer(org.simpleframework.xml.Serializer)

Example 42 with Room

use of org.apache.openmeetings.db.entity.room.Room in project openmeetings by apache.

the class BackupImport method importRoomGroups.

/*
	 * ##################### Import Room Groups
	 */
private void importRoomGroups(File f) throws Exception {
    log.info("Room import complete, starting room groups import");
    Registry registry = new Registry();
    Strategy strategy = new RegistryStrategy(registry);
    Serializer serializer = new Persister(strategy);
    registry.bind(Group.class, new GroupConverter(groupDao, groupMap));
    registry.bind(Room.class, new RoomConverter(roomDao, roomMap));
    List<RoomGroup> list = readList(serializer, f, "rooms_organisation.xml", "room_organisations", RoomGroup.class);
    for (RoomGroup ro : list) {
        Room r = roomDao.get(ro.getRoom().getId());
        if (r == null || ro.getGroup() == null || ro.getGroup().getId() == null) {
            continue;
        }
        if (r.getGroups() == null) {
            r.setGroups(new ArrayList<>());
        }
        ro.setId(null);
        ro.setRoom(r);
        r.getGroups().add(ro);
        roomDao.update(r, null);
    }
}
Also used : GroupConverter(org.apache.openmeetings.backup.converter.GroupConverter) RoomConverter(org.apache.openmeetings.backup.converter.RoomConverter) RegistryStrategy(org.simpleframework.xml.convert.RegistryStrategy) RegistryStrategy(org.simpleframework.xml.convert.RegistryStrategy) Strategy(org.simpleframework.xml.strategy.Strategy) Registry(org.simpleframework.xml.convert.Registry) Persister(org.simpleframework.xml.core.Persister) RoomGroup(org.apache.openmeetings.db.entity.room.RoomGroup) Room(org.apache.openmeetings.db.entity.room.Room) Serializer(org.simpleframework.xml.Serializer)

Example 43 with Room

use of org.apache.openmeetings.db.entity.room.Room in project openmeetings by apache.

the class BackupImport method importRoomFiles.

/*
	 * ##################### Import Room Files
	 */
private void importRoomFiles(File f) throws Exception {
    log.info("Poll import complete, starting room files import");
    Registry registry = new Registry();
    Strategy strategy = new RegistryStrategy(registry);
    Serializer serializer = new Persister(strategy);
    registry.bind(BaseFileItem.class, new BaseFileItemConverter(fileItemDao, fileItemMap));
    List<RoomFile> list = readList(serializer, f, "roomFiles.xml", "RoomFiles", RoomFile.class, true);
    for (RoomFile rf : list) {
        Room r = roomDao.get(roomMap.get(rf.getRoomId()));
        if (r == null || rf.getFile() == null || rf.getFile().getId() == null) {
            continue;
        }
        if (r.getFiles() == null) {
            r.setFiles(new ArrayList<>());
        }
        rf.setId(null);
        rf.setRoomId(r.getId());
        r.getFiles().add(rf);
        roomDao.update(r, null);
    }
}
Also used : BaseFileItemConverter(org.apache.openmeetings.backup.converter.BaseFileItemConverter) RegistryStrategy(org.simpleframework.xml.convert.RegistryStrategy) RoomFile(org.apache.openmeetings.db.entity.room.RoomFile) RegistryStrategy(org.simpleframework.xml.convert.RegistryStrategy) Strategy(org.simpleframework.xml.strategy.Strategy) Registry(org.simpleframework.xml.convert.Registry) Persister(org.simpleframework.xml.core.Persister) Room(org.apache.openmeetings.db.entity.room.Room) Serializer(org.simpleframework.xml.Serializer)

Example 44 with Room

use of org.apache.openmeetings.db.entity.room.Room in project openmeetings by apache.

the class RoomDao method getRecent.

public List<Room> getRecent(Long userId) {
    List<Room> result = new ArrayList<>();
    Set<Long> ids = new HashSet<>();
    // (RECENT_ROOMS_COUNT + 1) passes required to preserve the order :(
    for (ConferenceLog l : em.createNamedQuery("getLogRecentRooms", ConferenceLog.class).setParameter("roomEnter", ConferenceLog.Type.roomEnter).setParameter(PARAM_USER_ID, userId).getResultList()) {
        if (!ids.contains(l.getRoomId())) {
            Room r = get(l.getRoomId());
            if (r != null && !r.isDeleted()) {
                result.add(r);
                ids.add(r.getId());
            }
        }
        if (ids.size() == RECENT_ROOMS_COUNT) {
            break;
        }
    }
    return result;
}
Also used : ConferenceLog(org.apache.openmeetings.db.entity.log.ConferenceLog) ArrayList(java.util.ArrayList) Room(org.apache.openmeetings.db.entity.room.Room) HashSet(java.util.HashSet)

Example 45 with Room

use of org.apache.openmeetings.db.entity.room.Room in project openmeetings by apache.

the class RoomDao method get.

@Override
public Room get(Long id) {
    Room r = null;
    if (id != null && id.longValue() > 0) {
        OpenJPAEntityManager oem = OpenJPAPersistence.cast(em);
        boolean qrce = oem.getFetchPlan().getQueryResultCacheEnabled();
        try {
            // update in cache during update
            oem.getFetchPlan().setQueryResultCacheEnabled(false);
            TypedQuery<Room> q = oem.createNamedQuery("getRoomById", Room.class);
            q.setParameter("id", id);
            @SuppressWarnings("unchecked") OpenJPAQuery<Room> kq = OpenJPAPersistence.cast(q);
            kq.getFetchPlan().addFetchGroups("roomModerators", "roomGroups", "roomFiles");
            List<Room> l = kq.getResultList();
            r = l.isEmpty() ? r : l.get(0);
        } finally {
            oem.getFetchPlan().setQueryResultCacheEnabled(qrce);
        }
    } else {
        log.info("[get] " + "Info: No room id given");
    }
    return r;
}
Also used : OpenJPAEntityManager(org.apache.openjpa.persistence.OpenJPAEntityManager) Room(org.apache.openmeetings.db.entity.room.Room)

Aggregations

Room (org.apache.openmeetings.db.entity.room.Room)54 Test (org.junit.Test)9 ArrayList (java.util.ArrayList)7 RoomDTO (org.apache.openmeetings.db.dto.room.RoomDTO)7 User (org.apache.openmeetings.db.entity.user.User)7 Path (javax.ws.rs.Path)6 Appointment (org.apache.openmeetings.db.entity.calendar.Appointment)6 WebMethod (javax.jws.WebMethod)5 ServiceResult (org.apache.openmeetings.db.dto.basic.ServiceResult)5 RoomGroup (org.apache.openmeetings.db.entity.room.RoomGroup)5 Date (java.util.Date)4 GET (javax.ws.rs.GET)4 Client (org.apache.openmeetings.db.entity.basic.Client)4 MeetingMember (org.apache.openmeetings.db.entity.calendar.MeetingMember)4 RoomDao (org.apache.openmeetings.db.dao.room.RoomDao)3 Recording (org.apache.openmeetings.db.entity.record.Recording)3 RoomModerator (org.apache.openmeetings.db.entity.room.RoomModerator)3 WebSession (org.apache.openmeetings.web.app.WebSession)3 AjaxRequestTarget (org.apache.wicket.ajax.AjaxRequestTarget)3 Label (org.apache.wicket.markup.html.basic.Label)3