I tried actually just extending AbstractRosterManager, and no luck so far.
This is what my code looks like so far:
http://mysticpaste.com/private/dNnIRVWDlY/
I thought that implementing the RosterManager was a pretty straightforward
process and it's working mostly. However, it doesn't seem that the server
is still relaying the presence notifications. That is, I'm not seeing the
users sign on/off in the buddy list.
This is also the toString() of the rosterItemMap returned by
getRosterItemsByState()
{
NONE=[],
TO=[],
BOTH=[
RosterItem{
jid=46eb86cf-f5ce-4a90-8421-8efc10a76250@localhost,
name='Patrick Twohig', groups=[Friends],
subscriptionType=BOTH,
askSubscriptionType=ASK_SUBSCRIBED
}
],
REMOVE=[],
FROM=[]
}
I'm also using Vysper 0.07, not 0.08, I dunno if that makes a difference.
On Thu, Oct 18, 2012 at 11:40 AM, Patrick Twohig <[email protected]> wrote:
> Are you subclassing AbstractRosterManager? (recommended)
>
>
> No, I'm implementing the interface directly. I'll try using the
> AbstractRosterManager. However, I do notice that the JcrRosterManager
> actually had overrides for every method in the interface.
>
> Are you using any particular XMPP client(s) for that?
>
>
> For testing I'm using Adium. For production we'll be using jabber-net and
> Strophe. All work fine for sending messages. I'm not working on the
> client side development, so I don't have any direct test cases rigged up
> for that.
>
> You'd need to analyze what PresenceAvailabilityHandler.java makes out
>> of your RosterManager info. You could check for example what a call
>> to RosterUtils.getRosterItemsByState RosterManager rosterManager,
>> Entity user) returns. It should not be empty lists.
>
>
> I'll step through it again in the debugger. Looking at it made my head
> spin, but I'll set a breakpoint there to see what's actually happening.
>
> The help is very much appreciated.
>
> Cheers,
> Patrick.
>
> On Tue, Oct 16, 2012 at 10:25 PM, Bernd Fondermann <
> [email protected]> wrote:
>
>> More questions for trying to narrow down your problem...
>>
>> On Tue, Oct 16, 2012 at 7:17 AM, Patrick Twohig <[email protected]>
>> wrote:
>> > I've added my own RosterManager that connects to my existing database.
>> > Each user has a list of friends they will automatically be subscribed
>> to.
>> > I'm just querying my database and populating the roster from that data.
>>
>> Are you subclassing AbstractRosterManager? (recommended)
>>
>> > Optionally, the users may remove friends or add friends. I can see the
>> > roster, I just can't see the presence notifications.
>>
>> Are you using any particular XMPP client(s) for that?
>>
>> > IN other words, the
>> > list always appears as offline. Not sure why this is, though.
>>
>> You'd need to analyze what PresenceAvailabilityHandler.java makes out
>> of your RosterManager info.
>> You could check for example what a call to
>> RosterUtils.getRosterItemsByState(RosterManager rosterManager, Entity
>> user) returns.
>> It should not be empty lists.
>>
>> Bernd
>>
>
>