/** * Deletes all privacy lists of a user. This may be necessary when a user is being deleted from * the system. * * @param username the username of the list owner. */ public void deletePrivacyLists(String username) { for (String listName : provider.getPrivacyLists(username).keySet()) { // Remove the list from the cache listsCache.remove(getCacheKey(username, listName)); // Trigger event that a privacy list is being deleted for (PrivacyListEventListener listener : listeners) { listener.privacyListDeleting(listName); } } // Delete user privacy lists from the DB provider.deletePrivacyLists(username); }
/** * Creates a new privacy list for the specified user. * * @param username the username of the list owner. * @param listName the name of the new privacy list. * @param listElement the XML that specifies the list and its items. * @return the newly created PrivacyList. */ public PrivacyList createPrivacyList(String username, String listName, Element listElement) { // Create new list PrivacyList list = new PrivacyList(username, listName, false, listElement); // Add new list to cache listsCache.put(getCacheKey(username, listName), list); // Save new list to database provider.createPrivacyList(username, list); // Trigger event that a new privacy list has been created for (PrivacyListEventListener listener : listeners) { listener.privacyListCreated(list); } return list; }
/** * Deletes an existing privacy list of a user. If the privacy list being deleted was the default * list then the user will end up with no default list. Therefore, the user will have to set a new * default list. * * @param username the username of the list owner. * @param listName the name of the list being deleted. */ public void deletePrivacyList(String username, String listName) { // Trigger event that a privacy list is being deleted for (PrivacyListEventListener listener : listeners) { listener.privacyListDeleting(listName); } // Remove the list from the cache listsCache.remove(getCacheKey(username, listName)); // Delete the privacy list from the DB provider.deletePrivacyList(username, listName); // Check if deleted list was the default list PrivacyList defaultList = listsCache.get(getDefaultCacheKey(username)); if (defaultList != null && listName.equals(defaultList.getName())) { listsCache.remove(getDefaultCacheKey(username)); } }
void dispatchModifiedEvent(PrivacyList privacyList) { // Trigger event that a privacy list has been modified for (PrivacyListEventListener listener : listeners) { listener.privacyListModified(privacyList); } }