Search in sources :

Example 26 with Buddy

use of org.olat.instantMessaging.model.Buddy in project openolat by klemens.

the class InstantMessageServiceTest method testGetBuddiesListenTo.

@Test
public void testGetBuddiesListenTo() {
    DummyListener dummyListener = new DummyListener();
    Identity chatter1 = JunitTestHelper.createAndPersistIdentityAsUser("Chat-1-" + UUID.randomUUID().toString());
    Identity chatter2 = JunitTestHelper.createAndPersistIdentityAsUser("Chat-2-" + UUID.randomUUID().toString());
    OLATResourceable chatResource = OresHelper.createOLATResourceableInstance(UUID.randomUUID().toString(), chatter1.getKey());
    imService.listenChat(chatter1, chatResource, null, false, false, dummyListener);
    imService.listenChat(chatter2, chatResource, "Chatter-2", true, true, dummyListener);
    dbInstance.commitAndCloseSession();
    // check if the buddies listen to the chat
    List<Buddy> buddies = imService.getBuddiesListenTo(chatResource);
    Assert.assertNotNull(buddies);
    Assert.assertEquals(2, buddies.size());
    // check the properties of buddy 1
    Buddy buddy1 = buddies.get(0).getIdentityKey().equals(chatter1.getKey()) ? buddies.get(0) : buddies.get(1);
    Assert.assertTrue(buddy1.getUsername().equals(chatter1.getName()));
    Assert.assertFalse(buddy1.isAnonym());
    Assert.assertFalse(buddy1.isVip());
    // check the properties of buddy 2
    Buddy buddy2 = buddies.get(0).getIdentityKey().equals(chatter2.getKey()) ? buddies.get(0) : buddies.get(1);
    Assert.assertTrue(buddy2.getUsername().equals(chatter2.getName()));
    Assert.assertTrue(buddy2.isAnonym());
    Assert.assertTrue(buddy2.isVip());
}
Also used : OLATResourceable(org.olat.core.id.OLATResourceable) Identity(org.olat.core.id.Identity) Buddy(org.olat.instantMessaging.model.Buddy) Test(org.junit.Test)

Example 27 with Buddy

use of org.olat.instantMessaging.model.Buddy in project openolat by klemens.

the class GroupController method doIm.

private void doIm(UserRequest ureq, Identity identity) {
    Buddy buddy = imService.getBuddyById(identity.getKey());
    OpenInstantMessageEvent e = new OpenInstantMessageEvent(ureq, buddy);
    ureq.getUserSession().getSingleUserEventCenter().fireEventToListenersOf(e, InstantMessagingService.TOWER_EVENT_ORES);
}
Also used : OpenInstantMessageEvent(org.olat.instantMessaging.OpenInstantMessageEvent) Buddy(org.olat.instantMessaging.model.Buddy)

Example 28 with Buddy

use of org.olat.instantMessaging.model.Buddy in project openolat by klemens.

the class MembersAvatarDisplayRunController method doOpenChat.

private void doOpenChat(Member member, UserRequest ureq) {
    Buddy buddy = imService.getBuddyById(member.getKey());
    OpenInstantMessageEvent e = new OpenInstantMessageEvent(ureq, buddy);
    ureq.getUserSession().getSingleUserEventCenter().fireEventToListenersOf(e, InstantMessagingService.TOWER_EVENT_ORES);
}
Also used : OpenInstantMessageEvent(org.olat.instantMessaging.OpenInstantMessageEvent) Buddy(org.olat.instantMessaging.model.Buddy)

Example 29 with Buddy

use of org.olat.instantMessaging.model.Buddy in project openolat by klemens.

the class MembersTableController method doOpenChat.

private void doOpenChat(MemberView member, UserRequest ureq) {
    Buddy buddy = imService.getBuddyById(member.getIdentityKey());
    OpenInstantMessageEvent e = new OpenInstantMessageEvent(ureq, buddy);
    ureq.getUserSession().getSingleUserEventCenter().fireEventToListenersOf(e, InstantMessagingService.TOWER_EVENT_ORES);
}
Also used : OpenInstantMessageEvent(org.olat.instantMessaging.OpenInstantMessageEvent) Buddy(org.olat.instantMessaging.model.Buddy)

Example 30 with Buddy

use of org.olat.instantMessaging.model.Buddy in project openolat by klemens.

the class UserSessionController method event.

/**
 * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest,
 *      org.olat.core.gui.control.Controller, org.olat.core.gui.control.Event)
 */
public void event(UserRequest ureq, Controller source, Event event) {
    if (source == tableCtr) {
        if (event.getCommand().equals(Table.COMMANDLINK_ROWACTION_CLICKED)) {
            TableEvent te = (TableEvent) event;
            int selRow = te.getRowId();
            // session info (we only have authenticated sessions here
            UserSessionView usessw = (UserSessionView) tableCtr.getTableDataModel().getObject(selRow);
            if ("sess.chat".equals(te.getActionId())) {
                Buddy buddy = imService.getBuddyById(usessw.getIdentityKey());
                OpenInstantMessageEvent e = new OpenInstantMessageEvent(ureq, buddy);
                ureq.getUserSession().getSingleUserEventCenter().fireEventToListenersOf(e, InstantMessagingService.TOWER_EVENT_ORES);
            } else if ("sess.details".equals(te.getActionId())) {
                UserSession usess = usessw.getUserSession();
                UserSessionDetailsController detailsCtrl = new UserSessionDetailsController(ureq, getWindowControl(), usess);
                listenTo(detailsCtrl);
                String username = usess.getIdentity() == null ? "-" : UserManager.getInstance().getUserDisplayName(usess.getIdentity());
                stackController.pushController(username, detailsCtrl);
            }
        }
    }
}
Also used : TableEvent(org.olat.core.gui.components.table.TableEvent) UserSession(org.olat.core.util.UserSession) OpenInstantMessageEvent(org.olat.instantMessaging.OpenInstantMessageEvent) UserSessionView(org.olat.admin.sysinfo.model.UserSessionView) Buddy(org.olat.instantMessaging.model.Buddy)

Aggregations

Buddy (org.olat.instantMessaging.model.Buddy)36 OpenInstantMessageEvent (org.olat.instantMessaging.OpenInstantMessageEvent)16 BuddyGroup (org.olat.instantMessaging.model.BuddyGroup)6 ArrayList (java.util.ArrayList)4 Link (org.olat.core.gui.components.link.Link)4 HashSet (java.util.HashSet)2 CopyOnWriteArrayList (java.util.concurrent.CopyOnWriteArrayList)2 Test (org.junit.Test)2 UserSessionView (org.olat.admin.sysinfo.model.UserSessionView)2 IdentityShort (org.olat.basesecurity.IdentityShort)2 TableEvent (org.olat.core.gui.components.table.TableEvent)2 SyntheticUserRequest (org.olat.core.gui.util.SyntheticUserRequest)2 Identity (org.olat.core.id.Identity)2 OLATResourceable (org.olat.core.id.OLATResourceable)2 UserSession (org.olat.core.util.UserSession)2 InstantMessageNotification (org.olat.instantMessaging.InstantMessageNotification)2 RosterEntryView (org.olat.instantMessaging.model.RosterEntryView)2