org.exoplatform.contact.service.impl
Class JCRDataStorage

java.lang.Object
  extended by org.exoplatform.contact.service.impl.JCRDataStorage

public class JCRDataStorage
extends java.lang.Object

Created by The eXo Platform SARL Author : Hung Nguyen Quang hung.nguyen@exoplatform.com Jul 10, 2007


Field Summary
static java.lang.String HYPHEN
           
static java.lang.String PERSONAL
           
static java.lang.String PUBLIC
           
static java.lang.String SHARED
           
static java.lang.String SPLIT
           
static java.lang.String USERS_PATH
           
 
Constructor Summary
JCRDataStorage(org.exoplatform.services.jcr.ext.hierarchy.NodeHierarchyCreator nodeHierarchyCreator, org.exoplatform.services.jcr.RepositoryService repoService)
           
 
Method Summary
 void addTag(java.lang.String username, java.util.List<java.lang.String> contactIds, java.util.List<Tag> tags)
           
 void addTag(java.lang.String username, java.util.List<java.lang.String> contactIds, java.lang.String tagId)
           
 void addUserContactInAddressBook(java.lang.String userId, java.lang.String addressBookId)
           
 void clearAddressBook(java.lang.String username, java.lang.String addressBookId)
          Remove all contacts contained in an address book
 java.util.List<Contact> findAllContactsByOwner(java.lang.String username)
           
 ContactPageList findContactsByFilter(java.lang.String username, ContactFilter filter, java.lang.String type)
           
 java.util.List<java.lang.String> findEmailsByAddressBook(java.lang.String username, java.lang.String addressBookId)
           
 java.util.Map<java.lang.String,java.lang.String> findEmailsByFilter(java.lang.String username, ContactFilter filter)
           
 java.util.List<java.lang.String> findEmailsInPersonalAddressBook(java.lang.String username, java.lang.String addressBookId)
           
 java.util.List<java.lang.String> findEmailsInPublicAddressBook(java.lang.String username, java.lang.String groupId)
           
 java.util.List<AddressBook> findPersonalAddressBooksByOwner(java.lang.String username)
           
 ContactPageList findPersonalContactsByAddressBook(java.lang.String owner, java.lang.String addressBookId)
           
 java.util.List<SharedAddressBook> findSharedAddressBooksByUser(java.lang.String username)
           
 java.util.List<java.lang.String> getAllEmailBySharedGroup(java.lang.String username, java.lang.String addressBookId)
           
 javax.jcr.Node getContactApplicationDataHome(org.exoplatform.services.jcr.ext.common.SessionProvider sProvider)
           
 DataPageList getContactPageListByTag(java.lang.String username, java.lang.String tagId)
           
 javax.jcr.Node getContactUserDataHome(org.exoplatform.services.jcr.ext.common.SessionProvider sProvider, java.lang.String username)
          Get the home node for user data of contact service
 javax.jcr.Node getPersonalAddressBooksHome(org.exoplatform.services.jcr.ext.common.SessionProvider sProvider, java.lang.String username)
           
 javax.jcr.Node getPersonalContactsHome(org.exoplatform.services.jcr.ext.common.SessionProvider sProvider, java.lang.String username)
           
 java.util.List<java.lang.String> getPublicAddressBookContacts(org.exoplatform.services.jcr.ext.common.SessionProvider sysProvider, java.lang.String[] groupIds)
           
 java.util.List<GroupContactData> getPublicContacts(org.exoplatform.services.jcr.ext.common.SessionProvider sysProvider, java.lang.String[] groupIds)
           
 ContactPageList getPublicContactsByAddressBook(java.lang.String groupId)
           
 javax.jcr.Node getPublicContactsHome(org.exoplatform.services.jcr.ext.common.SessionProvider sProvider)
           
 AddressBook getSharedAddressBookById(java.lang.String username, java.lang.String addressBookId)
           
 javax.jcr.Node getSharedAddressBooksHome(org.exoplatform.services.jcr.ext.common.SessionProvider provider, java.lang.String userId)
          get the node that holds references to all address books shared to a given user.
 javax.jcr.Node getSharedAddressBooksHome(java.lang.String userId)
          Deprecated. use {@link #getSharedAddressBooksHome(SessionProvider, String) and provide an appropriate SessionProvider this method leaves a system SessionProvider open.
 Contact getSharedContact(java.lang.String username, java.lang.String contactId)
           
 Contact getSharedContactAddressBook(java.lang.String username, java.lang.String contactId)
           
 DataPageList getSharedContacts(java.lang.String username)
           
 ContactPageList getSharedContactsByAddressBook(java.lang.String username, SharedAddressBook addressBook)
           
 javax.jcr.Node getSharedContactsHome(org.exoplatform.services.jcr.ext.common.SessionProvider provider, java.lang.String userId)
           
 Tag getTag(java.lang.String username, java.lang.String tagId)
           
 java.util.List<Tag> getTags(java.lang.String username)
           
 javax.jcr.Node getTagsHome(org.exoplatform.services.jcr.ext.common.SessionProvider sProvider, java.lang.String username)
           
 AddressBook loadPersonalAddressBook(java.lang.String username, java.lang.String groupId)
           
 Contact loadPersonalContact(java.lang.String ownerUserId, java.lang.String contactId)
           
 Contact loadPublicContactByUser(java.lang.String userId)
          Load the public contact for a given username
 void moveContacts(java.lang.String username, java.util.List<Contact> contacts, java.lang.String addressType)
           
 void pasteAddressBook(java.lang.String username, java.lang.String srcAddress, java.lang.String srcType, java.lang.String destAddress, java.lang.String destType)
           
 java.util.List<Contact> pasteContacts(java.lang.String username, java.lang.String destAddress, java.lang.String destType, java.util.Map<java.lang.String,java.lang.String> contactsMap)
           
 void registerNewUser(org.exoplatform.services.organization.User user, boolean isNew)
           
 java.util.List<Contact> removeContacts(java.lang.String username, java.util.List<java.lang.String> contactIds)
           
 void removeContactTag(java.lang.String username, java.util.List<java.lang.String> contactIds, java.util.List<java.lang.String> tags)
           
 AddressBook removePersonalAddressBook(java.lang.String username, java.lang.String addressBookId)
          Remove a personal addressBook.
 void removeSharedContact(java.lang.String username, java.lang.String addressBookId, java.lang.String contactId)
           
 Tag removeTag(java.lang.String username, java.lang.String tagId)
           
 void removeUserShareContact(java.lang.String username, java.lang.String contactId, java.lang.String removedUser)
           
 void saveAddress(java.lang.String username, java.lang.String emailAddress)
           
 void saveContact(java.lang.String username, Contact contact, boolean isNew)
           
 void saveContactToSharedAddressBook(java.lang.String username, java.lang.String addressBookId, Contact contact, boolean isNew)
           
 void savePersonalOrSharedAddressBook(java.lang.String username, AddressBook addressbook, boolean isNew)
           
 void saveSharedContact(java.lang.String username, Contact contact)
           
 DataPageList searchContact(java.lang.String username, ContactFilter filter)
           
 void shareAddressBook(java.lang.String username, java.lang.String addressBookId, java.util.List<java.lang.String> receiveUsers)
           
 void shareContact(java.lang.String username, java.lang.String[] contactIds, java.util.List<java.lang.String> receiveUsers)
           
 void unshareAddressBook(java.lang.String username, java.lang.String addressBookId, java.lang.String removedUser)
           
 void updateTag(java.lang.String username, Tag tag)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

USERS_PATH

public static final java.lang.String USERS_PATH

PERSONAL

public static final java.lang.String PERSONAL

SHARED

public static final java.lang.String SHARED

PUBLIC

public static final java.lang.String PUBLIC

SPLIT

public static final java.lang.String SPLIT

HYPHEN

public static final java.lang.String HYPHEN
Constructor Detail

JCRDataStorage

public JCRDataStorage(org.exoplatform.services.jcr.ext.hierarchy.NodeHierarchyCreator nodeHierarchyCreator,
                      org.exoplatform.services.jcr.RepositoryService repoService)
               throws java.lang.Exception
Throws:
java.lang.Exception
Method Detail

getContactUserDataHome

public javax.jcr.Node getContactUserDataHome(org.exoplatform.services.jcr.ext.common.SessionProvider sProvider,
                                             java.lang.String username)
                                      throws java.lang.Exception
Get the home node for user data of contact service

Parameters:
sProvider -
username -
Returns:
Throws:
java.lang.Exception

getContactApplicationDataHome

public javax.jcr.Node getContactApplicationDataHome(org.exoplatform.services.jcr.ext.common.SessionProvider sProvider)
                                             throws java.lang.Exception
Throws:
java.lang.Exception

getPersonalContactsHome

public javax.jcr.Node getPersonalContactsHome(org.exoplatform.services.jcr.ext.common.SessionProvider sProvider,
                                              java.lang.String username)
                                       throws java.lang.Exception
Throws:
java.lang.Exception

getPersonalAddressBooksHome

public javax.jcr.Node getPersonalAddressBooksHome(org.exoplatform.services.jcr.ext.common.SessionProvider sProvider,
                                                  java.lang.String username)
                                           throws java.lang.Exception
Throws:
java.lang.Exception

getPublicContactsHome

public javax.jcr.Node getPublicContactsHome(org.exoplatform.services.jcr.ext.common.SessionProvider sProvider)
                                     throws java.lang.Exception
Throws:
java.lang.Exception

getTagsHome

public javax.jcr.Node getTagsHome(org.exoplatform.services.jcr.ext.common.SessionProvider sProvider,
                                  java.lang.String username)
                           throws java.lang.Exception
Throws:
java.lang.Exception

getSharedAddressBooksHome

public javax.jcr.Node getSharedAddressBooksHome(org.exoplatform.services.jcr.ext.common.SessionProvider provider,
                                                java.lang.String userId)
                                         throws java.lang.Exception
get the node that holds references to all address books shared to a given user.

Parameters:
userId -
Returns:
Throws:
java.lang.Exception

getSharedContactsHome

public javax.jcr.Node getSharedContactsHome(org.exoplatform.services.jcr.ext.common.SessionProvider provider,
                                            java.lang.String userId)
                                     throws java.lang.Exception
Throws:
java.lang.Exception

getSharedAddressBooksHome

public javax.jcr.Node getSharedAddressBooksHome(java.lang.String userId)
                                         throws java.lang.Exception
Deprecated. use {@link #getSharedAddressBooksHome(SessionProvider, String) and provide an appropriate SessionProvider this method leaves a system SessionProvider open.

Throws:
java.lang.Exception

loadPublicContactByUser

public Contact loadPublicContactByUser(java.lang.String userId)
                                throws java.lang.Exception
Load the public contact for a given username

Parameters:
userId - username for which the corresponding contact will be loaded
Returns:
the contact or null if the contact could not be loaded
Throws:
java.lang.Exception

findAllContactsByOwner

public java.util.List<Contact> findAllContactsByOwner(java.lang.String username)
                                               throws java.lang.Exception
Throws:
java.lang.Exception

findContactsByFilter

public ContactPageList findContactsByFilter(java.lang.String username,
                                            ContactFilter filter,
                                            java.lang.String type)
                                     throws java.lang.Exception
Throws:
java.lang.Exception

loadPersonalContact

public Contact loadPersonalContact(java.lang.String ownerUserId,
                                   java.lang.String contactId)
                            throws java.lang.Exception
Throws:
java.lang.Exception

findPersonalContactsByAddressBook

public ContactPageList findPersonalContactsByAddressBook(java.lang.String owner,
                                                         java.lang.String addressBookId)
                                                  throws java.lang.Exception
Throws:
java.lang.Exception

findEmailsByAddressBook

public java.util.List<java.lang.String> findEmailsByAddressBook(java.lang.String username,
                                                                java.lang.String addressBookId)
                                                         throws AddressBookNotFoundException,
                                                                java.lang.Exception
Throws:
AddressBookNotFoundException
java.lang.Exception

findEmailsInPersonalAddressBook

public java.util.List<java.lang.String> findEmailsInPersonalAddressBook(java.lang.String username,
                                                                        java.lang.String addressBookId)
                                                                 throws java.lang.Exception
Throws:
java.lang.Exception

findEmailsInPublicAddressBook

public java.util.List<java.lang.String> findEmailsInPublicAddressBook(java.lang.String username,
                                                                      java.lang.String groupId)
                                                               throws java.lang.Exception
Throws:
java.lang.Exception

getAllEmailBySharedGroup

public java.util.List<java.lang.String> getAllEmailBySharedGroup(java.lang.String username,
                                                                 java.lang.String addressBookId)
                                                          throws java.lang.Exception
Throws:
java.lang.Exception

loadPersonalAddressBook

public AddressBook loadPersonalAddressBook(java.lang.String username,
                                           java.lang.String groupId)
                                    throws java.lang.Exception
Throws:
java.lang.Exception

getSharedAddressBookById

public AddressBook getSharedAddressBookById(java.lang.String username,
                                            java.lang.String addressBookId)
                                     throws java.lang.Exception
Throws:
java.lang.Exception

findPersonalAddressBooksByOwner

public java.util.List<AddressBook> findPersonalAddressBooksByOwner(java.lang.String username)
                                                            throws java.lang.Exception
Throws:
java.lang.Exception

removeContacts

public java.util.List<Contact> removeContacts(java.lang.String username,
                                              java.util.List<java.lang.String> contactIds)
                                       throws java.lang.Exception
Throws:
java.lang.Exception

moveContacts

public void moveContacts(java.lang.String username,
                         java.util.List<Contact> contacts,
                         java.lang.String addressType)
                  throws java.lang.Exception
Throws:
java.lang.Exception

removePersonalAddressBook

public AddressBook removePersonalAddressBook(java.lang.String username,
                                             java.lang.String addressBookId)
                                      throws java.lang.Exception
Remove a personal addressBook. Does not clean the contacts it contains

Parameters:
username -
addressBookId -
Returns:
Throws:
java.lang.Exception

clearAddressBook

public void clearAddressBook(java.lang.String username,
                             java.lang.String addressBookId)
                      throws java.lang.Exception
Remove all contacts contained in an address book

Parameters:
username -
addressBookId -
Throws:
java.lang.Exception

saveContact

public void saveContact(java.lang.String username,
                        Contact contact,
                        boolean isNew)
                 throws java.lang.Exception
Throws:
java.lang.Exception

savePersonalOrSharedAddressBook

public void savePersonalOrSharedAddressBook(java.lang.String username,
                                            AddressBook addressbook,
                                            boolean isNew)
                                     throws java.lang.Exception
Throws:
java.lang.Exception

removeUserShareContact

public void removeUserShareContact(java.lang.String username,
                                   java.lang.String contactId,
                                   java.lang.String removedUser)
                            throws java.lang.Exception
Throws:
java.lang.Exception

unshareAddressBook

public void unshareAddressBook(java.lang.String username,
                               java.lang.String addressBookId,
                               java.lang.String removedUser)
                        throws java.lang.Exception
Throws:
java.lang.Exception

shareAddressBook

public void shareAddressBook(java.lang.String username,
                             java.lang.String addressBookId,
                             java.util.List<java.lang.String> receiveUsers)
                      throws java.lang.Exception
Throws:
java.lang.Exception

shareContact

public void shareContact(java.lang.String username,
                         java.lang.String[] contactIds,
                         java.util.List<java.lang.String> receiveUsers)
                  throws java.lang.Exception
Throws:
java.lang.Exception

findSharedAddressBooksByUser

public java.util.List<SharedAddressBook> findSharedAddressBooksByUser(java.lang.String username)
                                                               throws java.lang.Exception
Throws:
java.lang.Exception

removeSharedContact

public void removeSharedContact(java.lang.String username,
                                java.lang.String addressBookId,
                                java.lang.String contactId)
                         throws java.lang.Exception
Throws:
java.lang.Exception

getSharedContact

public Contact getSharedContact(java.lang.String username,
                                java.lang.String contactId)
                         throws java.lang.Exception
Throws:
java.lang.Exception

getSharedContacts

public DataPageList getSharedContacts(java.lang.String username)
                               throws java.lang.Exception
Throws:
java.lang.Exception

saveSharedContact

public void saveSharedContact(java.lang.String username,
                              Contact contact)
                       throws java.lang.Exception
Throws:
java.lang.Exception

saveContactToSharedAddressBook

public void saveContactToSharedAddressBook(java.lang.String username,
                                           java.lang.String addressBookId,
                                           Contact contact,
                                           boolean isNew)
                                    throws java.lang.Exception
Throws:
java.lang.Exception

getSharedContactAddressBook

public Contact getSharedContactAddressBook(java.lang.String username,
                                           java.lang.String contactId)
                                    throws java.lang.Exception
Throws:
java.lang.Exception

getSharedContactsByAddressBook

public ContactPageList getSharedContactsByAddressBook(java.lang.String username,
                                                      SharedAddressBook addressBook)
                                               throws java.lang.Exception
Throws:
java.lang.Exception

getPublicContactsByAddressBook

public ContactPageList getPublicContactsByAddressBook(java.lang.String groupId)
                                               throws java.lang.Exception
Throws:
java.lang.Exception

getPublicContacts

public java.util.List<GroupContactData> getPublicContacts(org.exoplatform.services.jcr.ext.common.SessionProvider sysProvider,
                                                          java.lang.String[] groupIds)
                                                   throws java.lang.Exception
Throws:
java.lang.Exception

getPublicAddressBookContacts

public java.util.List<java.lang.String> getPublicAddressBookContacts(org.exoplatform.services.jcr.ext.common.SessionProvider sysProvider,
                                                                     java.lang.String[] groupIds)
                                                              throws java.lang.Exception
Throws:
java.lang.Exception

addUserContactInAddressBook

public void addUserContactInAddressBook(java.lang.String userId,
                                        java.lang.String addressBookId)
                                 throws java.lang.Exception
Throws:
java.lang.Exception

updateTag

public void updateTag(java.lang.String username,
                      Tag tag)
               throws java.lang.Exception
Throws:
java.lang.Exception

getTag

public Tag getTag(java.lang.String username,
                  java.lang.String tagId)
           throws java.lang.Exception
Throws:
java.lang.Exception

getTags

public java.util.List<Tag> getTags(java.lang.String username)
                            throws java.lang.Exception
Throws:
java.lang.Exception

getContactPageListByTag

public DataPageList getContactPageListByTag(java.lang.String username,
                                            java.lang.String tagId)
                                     throws java.lang.Exception
Throws:
java.lang.Exception

addTag

public void addTag(java.lang.String username,
                   java.util.List<java.lang.String> contactIds,
                   java.lang.String tagId)
            throws java.lang.Exception
Throws:
java.lang.Exception

addTag

public void addTag(java.lang.String username,
                   java.util.List<java.lang.String> contactIds,
                   java.util.List<Tag> tags)
            throws java.lang.Exception
Throws:
java.lang.Exception

removeTag

public Tag removeTag(java.lang.String username,
                     java.lang.String tagId)
              throws java.lang.Exception
Throws:
java.lang.Exception

removeContactTag

public void removeContactTag(java.lang.String username,
                             java.util.List<java.lang.String> contactIds,
                             java.util.List<java.lang.String> tags)
                      throws java.lang.Exception
Throws:
java.lang.Exception

searchContact

public DataPageList searchContact(java.lang.String username,
                                  ContactFilter filter)
                           throws java.lang.Exception
Throws:
java.lang.Exception

findEmailsByFilter

public java.util.Map<java.lang.String,java.lang.String> findEmailsByFilter(java.lang.String username,
                                                                           ContactFilter filter)
                                                                    throws java.lang.Exception
Throws:
java.lang.Exception

pasteAddressBook

public void pasteAddressBook(java.lang.String username,
                             java.lang.String srcAddress,
                             java.lang.String srcType,
                             java.lang.String destAddress,
                             java.lang.String destType)
                      throws java.lang.Exception
Throws:
java.lang.Exception

pasteContacts

public java.util.List<Contact> pasteContacts(java.lang.String username,
                                             java.lang.String destAddress,
                                             java.lang.String destType,
                                             java.util.Map<java.lang.String,java.lang.String> contactsMap)
                                      throws java.lang.Exception
Throws:
java.lang.Exception

registerNewUser

public void registerNewUser(org.exoplatform.services.organization.User user,
                            boolean isNew)
                     throws java.lang.Exception
Throws:
java.lang.Exception

saveAddress

public void saveAddress(java.lang.String username,
                        java.lang.String emailAddress)
                 throws java.lang.Exception
Throws:
java.lang.Exception


Copyright © 2010 eXo Platform SAS. All Rights Reserved.