Jitsi: the OpenSource Java VoIP and Instant Messaging client.

net.java.sip.communicator.impl.protocol.sip
Class ServerStoredContactListXivoImpl

java.lang.Object
  extended by net.java.sip.communicator.impl.protocol.sip.ServerStoredContactList
      extended by net.java.sip.communicator.impl.protocol.sip.ServerStoredContactListXivoImpl
All Implemented Interfaces:
Runnable

public class ServerStoredContactListXivoImpl
extends ServerStoredContactList
implements Runnable

Xivo server stored contact list. Currently no modifications are possible. Just connecting and downloading server contact list.

Author:
Damian Minkov

Field Summary
static String XIVO_ENABLE
          The name of the property under which the user may specify whether to use or not xivo.
static String XIVO_PASSWORD
          The name of the property under which the user may specify the xivo user password.
static String XIVO_SERVER_ADDRESS
          The name of the property under which the user may specify the xivo server address.
static String XIVO_USE_SIP_CREDETIALS
          The name of the property under which the user may specify whether to use original sip credentials for the xivo.
static String XIVO_USER
          The name of the property under which the user may specify the xivo user.
 
Fields inherited from class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactList
parentOperationSet, ROOT_GROUP_NAME, rootGroup, sipProvider
 
Constructor Summary
ServerStoredContactListXivoImpl(ProtocolProviderServiceSipImpl sipProvider, OperationSetPresenceSipImpl parentOperationSet)
          Creates a ServerStoredContactList wrapper for the specified BuddyList.
 
Method Summary
 void authorizationAccepted(ContactSipImpl contact)
          The user accepted authorization request for contact
 void authorizationIgnored(ContactSipImpl contact)
          The user ignored authorization request for contact
 void authorizationRejected(ContactSipImpl contact)
          The user rejected authorization request for contact
 ContactSipImpl createContact(ContactGroupSipImpl parentGroup, String contactId, String displayName, boolean persistent, String contactType)
          Creates contact for the specified address and inside the specified group .
 ContactGroupSipImpl createGroup(ContactGroupSipImpl parentGroup, String groupName, boolean persistent)
          Creates a group with the specified name and parent in the server stored contact list.
 void deleteAccountImage()
          Deletes current account image from server.
 void destroy()
          Destroys the server stored list.
 ServerStoredDetails.ImageDetail getAccountImage()
          Get current account image from server if any.
 byte[] getImage(URI imageUri)
          Gets image from the specified uri.
 URI getImageUri()
          Gets the pres-content image uri.
 void init()
          Initializes the server stored list.
 boolean isAccountImageSupported()
          Whether current contact list supports account image.
 void moveContactToGroup(ContactSipImpl contact, ContactGroupSipImpl newParentGroup)
          Removes the specified contact from its current parent and places it under newParent.
 void removeContact(ContactSipImpl contact)
          Removes a contact.
 void removeGroup(ContactGroupSipImpl group)
          Removes the specified group from the server stored contact list.
 void renameContact(ContactSipImpl contact, String newName)
          Renames the specified contact.
 void renameGroup(ContactGroupSipImpl group, String newName)
          Renames the specified group from the server stored contact list.
 void run()
          The logic that runs in separate thread.
 void setAccountImage(byte[] newImageBytes)
          Change the image of the account on server.
(package private) static void showError(Throwable ex, String title, String message)
          Shows an error and a short description.
 
Methods inherited from class net.java.sip.communicator.impl.protocol.sip.ServerStoredContactList
addGroupListener, createContact, createUnresolvedContact, createUnresolvedContactGroup, fireContactAdded, fireContactMoved, fireContactRemoved, fireContactResolved, fireGroupEvent, getAllContacts, getAllGroups, getRootGroup, getUniqueContacts, removeGroupListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

XIVO_ENABLE

public static final String XIVO_ENABLE
The name of the property under which the user may specify whether to use or not xivo.

See Also:
Constant Field Values

XIVO_USE_SIP_CREDETIALS

public static final String XIVO_USE_SIP_CREDETIALS
The name of the property under which the user may specify whether to use original sip credentials for the xivo.

See Also:
Constant Field Values

XIVO_SERVER_ADDRESS

public static final String XIVO_SERVER_ADDRESS
The name of the property under which the user may specify the xivo server address.

See Also:
Constant Field Values

XIVO_USER

public static final String XIVO_USER
The name of the property under which the user may specify the xivo user.

See Also:
Constant Field Values

XIVO_PASSWORD

public static final String XIVO_PASSWORD
The name of the property under which the user may specify the xivo user password.

See Also:
Constant Field Values
Constructor Detail

ServerStoredContactListXivoImpl

ServerStoredContactListXivoImpl(ProtocolProviderServiceSipImpl sipProvider,
                                OperationSetPresenceSipImpl parentOperationSet)
Creates a ServerStoredContactList wrapper for the specified BuddyList.

Parameters:
sipProvider - the provider that has instantiated us.
parentOperationSet - the operation set that created us and that we could use for dispatching subscription events
Method Detail

init

public void init()
Initializes the server stored list. Synchronize server stored groups and contacts with the local groups and contacts.

Specified by:
init in class ServerStoredContactList

destroy

public void destroy()
Destroys the server stored list.

Specified by:
destroy in class ServerStoredContactList

run

public void run()
The logic that runs in separate thread. Dispatching responses.

Specified by:
run in interface Runnable

getImageUri

public URI getImageUri()
Gets the pres-content image uri.

Specified by:
getImageUri in class ServerStoredContactList
Returns:
the pres-content image uri.
Throws:
IllegalStateException - if the user has not been connected.

getImage

public byte[] getImage(URI imageUri)
Gets image from the specified uri.

Specified by:
getImage in class ServerStoredContactList
Parameters:
imageUri - the image uri.
Returns:
the image.

createGroup

public ContactGroupSipImpl createGroup(ContactGroupSipImpl parentGroup,
                                       String groupName,
                                       boolean persistent)
                                throws OperationFailedException
Creates a group with the specified name and parent in the server stored contact list.

Specified by:
createGroup in class ServerStoredContactList
Parameters:
parentGroup - the group where the new group should be created.
groupName - the name of the new group to create.
persistent - specify whether created contact is persistent ot not.
Returns:
the newly created ContactGroupSipImpl.
Throws:
OperationFailedException - with code NETWORK_FAILURE if creating the group fails because of server error or with code CONTACT_GROUP_ALREADY_EXISTS if contact group with such name already exists.

renameGroup

public void renameGroup(ContactGroupSipImpl group,
                        String newName)
Renames the specified group from the server stored contact list.

Specified by:
renameGroup in class ServerStoredContactList
Parameters:
group - the group to rename.
newName - the new name of the group.

moveContactToGroup

public void moveContactToGroup(ContactSipImpl contact,
                               ContactGroupSipImpl newParentGroup)
                        throws OperationFailedException
Removes the specified contact from its current parent and places it under newParent.

Specified by:
moveContactToGroup in class ServerStoredContactList
Parameters:
contact - the Contact to move
newParentGroup - the ContactGroup where Contact would be placed.
Throws:
OperationFailedException - with code NETWORK_FAILURE if the operation if failed during network communication.

removeGroup

public void removeGroup(ContactGroupSipImpl group)
Removes the specified group from the server stored contact list.

Specified by:
removeGroup in class ServerStoredContactList
Parameters:
group - the group to delete.

createContact

public ContactSipImpl createContact(ContactGroupSipImpl parentGroup,
                                    String contactId,
                                    String displayName,
                                    boolean persistent,
                                    String contactType)
                             throws OperationFailedException
Creates contact for the specified address and inside the specified group . If creation is successful event will be fired.

Specified by:
createContact in class ServerStoredContactList
Parameters:
parentGroup - the group where the unresolved contact is to be created.
contactId - the sip id of the contact to create.
displayName - the display name of the contact to create
persistent - specify whether created contact is persistent ot not.
contactType - the contact type to create, if missing null.
Returns:
the newly created ContactSipImpl.
Throws:
OperationFailedException - with code NETWORK_FAILURE if the operation if failed during network communication.

removeContact

public void removeContact(ContactSipImpl contact)
                   throws OperationFailedException
Removes a contact. If creation is successful event will be fired.

Specified by:
removeContact in class ServerStoredContactList
Parameters:
contact - contact to be removed.
Throws:
OperationFailedException - with code NETWORK_FAILURE if the operation if failed during network communication.

renameContact

public void renameContact(ContactSipImpl contact,
                          String newName)
Renames the specified contact.

Specified by:
renameContact in class ServerStoredContactList
Parameters:
contact - the contact to be renamed.
newName - the new contact name.

authorizationAccepted

public void authorizationAccepted(ContactSipImpl contact)
The user accepted authorization request for contact

Specified by:
authorizationAccepted in class ServerStoredContactList
Parameters:
contact - the user has accepted.

authorizationRejected

public void authorizationRejected(ContactSipImpl contact)
The user rejected authorization request for contact

Specified by:
authorizationRejected in class ServerStoredContactList
Parameters:
contact - the user has rejected.

authorizationIgnored

public void authorizationIgnored(ContactSipImpl contact)
The user ignored authorization request for contact

Specified by:
authorizationIgnored in class ServerStoredContactList
Parameters:
contact - the user has ignored.

getAccountImage

public ServerStoredDetails.ImageDetail getAccountImage()
                                                throws OperationFailedException
Get current account image from server if any.

Specified by:
getAccountImage in class ServerStoredContactList
Returns:
the account image.
Throws:
OperationFailedException

deleteAccountImage

public void deleteAccountImage()
                        throws OperationFailedException
Deletes current account image from server.

Specified by:
deleteAccountImage in class ServerStoredContactList
Throws:
OperationFailedException

setAccountImage

public void setAccountImage(byte[] newImageBytes)
                     throws OperationFailedException
Change the image of the account on server.

Specified by:
setAccountImage in class ServerStoredContactList
Parameters:
newImageBytes - the new image.
Throws:
OperationFailedException

isAccountImageSupported

public boolean isAccountImageSupported()
Whether current contact list supports account image.

Specified by:
isAccountImageSupported in class ServerStoredContactList
Returns:
does current contact list supports account image.

showError

static void showError(Throwable ex,
                      String title,
                      String message)
Shows an error and a short description.

Parameters:
ex - the exception

Jitsi: the OpenSource Java VoIP and Instant Messaging client.

Jitsi, the OpenSource Java VoIP and Instant Messaging client.
Distributable under LGPL license.