[sip-comm-dev] Display of SourceContact in TreeContactList


#1

Hi Yana, all,

I'm working on adding support for the Address Book of Microsoft
Outlook but I'm facing an issue with the display of certain
SourceContact in the TreeContactList. I'm returning the following
SourceContact from my ContactQuery implementation for a query
consisting of the single lowercase letter L (written in uppercase here
for the sake of readability):

- the displayName property has the value "Любомир Маринов",

- the value of contactDetails property is a List of l.m@g.c, l@s.o,
l@h.c (in the form of ContactDetail instances, of course).

Obviously, the displayName doesn't match the query but the
contactDetails do. SourceUIContact uses only the displayName as a
searchString so my SourceContact in question doesn't get displayed for
this particular query.

So my question is: shouldn't we display the SourceContact instances in
the TreeContactList as returned by the ContactQuery instead of further
checking them? I thought ContactQuery was supposed to encapsulate the
matching of the specified query.

Regards,
Lyubomir

···

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#2

Hi Lubomir,

Hi Yana, all,

I'm working on adding support for the Address Book of Microsoft
Outlook but I'm facing an issue with the display of certain
SourceContact in the TreeContactList. I'm returning the following
SourceContact from my ContactQuery implementation for a query
consisting of the single lowercase letter L (written in uppercase here
for the sake of readability):

- the displayName property has the value "Любомир Маринов",

- the value of contactDetails property is a List of l.m@g.c, l@s.o,
l@h.c (in the form of ContactDetail instances, of course).

Obviously, the displayName doesn't match the query but the
contactDetails do. SourceUIContact uses only the displayName as a
searchString so my SourceContact in question doesn't get displayed for
this particular query.

We could easily fix this by adding to the searchStrings the contact details of the source contact. We do the same thing for the MetaUIContact actually.

So my question is: shouldn't we display the SourceContact instances in
the TreeContactList as returned by the ContactQuery instead of further
checking them? I thought ContactQuery was supposed to encapsulate the
matching of the specified query.

Actually we don't check twice. The searchStrings are only verified when a new event occurs (presence status changed, etc.) on an already loaded contact list. For now the events we're listening for are only related to the MetaContactList and CallHistory, so I think that the problem in your case could be somewhere else. Could you please check if the SearchFilter.addMatching method adds your contact in the list? Again, could you please verify that the isMatching method is called for the specified contact?

Thanks!
Yana

···

On Jan 6, 2011, at 9:56 PM, Lyubomir Marinov wrote:

Regards,
Lyubomir

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net


#3

Then what does the "currentFilter.isMatching(uiContact)" in
TreeContactList#contactReceived(ContactReceivedEvent) at
TreeContactList.java:568 do? Anyway, I've implemented
ExtendedContactSourceService and the check "(contactSource instanceof
ExtendedContactSourceService)" at TreeContactList.java:567 disables
the problematic check and solves the issue for me.

···

On Fri, Jan 7, 2011 at 10:08 AM, Yana Stamcheva <yana@sip-communicator.org> wrote:

Actually we don't check twice.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net