First off , I took much more time than I anticipated before I could finally make some checkin's to
xmpp-im-client.
Without giving excuses , I will just mention work as the reason

Ok , now that we have cleared that , what has been checked in ?
- Very basic skeleton of the project - how it would be structured , how it will use external api , etc.
- The first few pieces of code ! (More on this below).
The basic skeleton of the package structure , build structure , etc has been checked in - if you are part of the project (if you are not , what are you waiting for !) , feel free to comment about it in case you have any reservations or suggestions.
A few classes have been checked in :
- A session manager which takes care of creating session's and handles reconnections as needed. This is envisioned to be common across UI modules.
- A basic simple CLI based UI has been checked in - as of now , it does nothing other than create a XMPP session using the collab api (using the wrapper described in prev bullet).
So session creation is done .... almost.
What else can be done ?
- Change the sessionprovider passed to AuthenticationManager to try out different providers : legacy ssl , httpbind , proxy support , etc !
- If required , implement org.netbeans.lib.collab.AuthenticationListener also in CliSessionListener - this will allow you to select and control SASL based authentication.
- For more advanced SASL support - like custom client SASL modules , along with (2) above use <AuthenticationManager>.getFactory().getCollaborationSessionProvider().registerProvider( <SASLClientProviderFactory> ) !
Though the code checked in looks deceptively simple , it handles almost everything required for session creation - including reconnection when connection gets dropped.
The next functionality that we target will be just reusimg the CollaborationSession that we created using the above to build on to add more complex functionality !
Check out the
discussion forum where I have added some blurb on how to test this.
So here to happy IM'ing !!
[Technorati Tag:
XMPP]
[Technorati Tag:
Sun IM api]
[Technorati Tag:
xmpp-im-client]