@Override public Sessions list() { Object obj = getEntity( entityType, VdcQueryType.GetVmByVmId, new IdQueryParameters(vmId), vmId.toString(), true); VM vm = (VM) obj; Sessions sessions = VmMapper.map(vm, new Sessions()); org.ovirt.engine.api.model.VM vmModel = new org.ovirt.engine.api.model.VM(); vmModel.setId(vm.getId().toString()); if (sessions.isSetSessions()) { for (Session session : sessions.getSessions()) { setSessionId(session); setSessionVmId(vmModel, session); // only console user assumed to be an ovirt user, and only an ovirt-user has an ID & href if (session.isSetConsoleUser() && session.isConsoleUser()) { addLinksIncludingUser(session); } else { addLinks(session, org.ovirt.engine.api.model.VM.class); } } } return sessions; }
@Override public Session get() { // Get all sessions and search for the session with this ID. Must be done this way because // there's no way to get session by ID from the engine. Sessions sessions = parent.list(); if (sessions.isSetSessions()) { for (Session session : sessions.getSessions()) { if (session.getId().equals(id)) { return session; } } } throw new WebApplicationException(Response.Status.NOT_FOUND); // shouldn't happen. }