org.exoplatform.services.wcm.newsletter
Class NewsletterConstant

java.lang.Object
  extended by org.exoplatform.services.wcm.newsletter.NewsletterConstant

public class NewsletterConstant
extends java.lang.Object

Created by The eXo Platform SAS Author : eXoPlatform chuong.phan@exoplatform.com, phan.le.thanh.chuong@gmail.com May 21, 2009


Field Summary
static java.lang.String CATEGORIES_PROPERTY_ADDMINISTRATOR
          The Constant CATEGORIES_PROPERTY_ADDMINISTRATOR.
static java.lang.String CATEGORY_BASE_PATH
          The CATEGORY base path.
static java.lang.String CATEGORY_NODETYPE
          The Constant CATEGORY_NODETYPE.
static java.lang.String CATEGORY_PROPERTY_DESCRIPTION
          The Constant CATEGORY_PROPERTY_DESCRIPTION.
static java.lang.String CATEGORY_PROPERTY_TITLE
          The Constant CATEGORY_PROPERTY_TITLE.
static java.lang.String ENTRY_NODETYPE
          The Constant ENTRY_NODETYPE.
static java.lang.String ENTRY_PROPERTY_CATEGORY_NAME
          The Constant ENTRY_PROPERTY_CATEGORY_NAME.
static java.lang.String ENTRY_PROPERTY_CONTENT_MAIN
          The Constant ENTRY_PROPERTY_CONTENT_MAIN.
static java.lang.String ENTRY_PROPERTY_DATE
          The Constant ENTRY_PROPERTY_DATE.
static java.lang.String ENTRY_PROPERTY_NAME
          The Constant ENTRY_PROPERTY_NAME.
static java.lang.String ENTRY_PROPERTY_STATUS
          The Constant ENTRY_PROPERTY_STATUS.
static java.lang.String ENTRY_PROPERTY_SUBSCRIPTION_NAME
          The Constant ENTRY_PROPERTY_SUBSCRIPTION_NAME.
static java.lang.String ENTRY_PROPERTY_TITLE
          The Constant ENTRY_PROPERTY_TITLE.
static java.lang.String ENTRY_PROPERTY_TYPE
          The Constant ENTRY_PROPERTY_TYPE.
static java.lang.String PORTAL_NAME
          The Constant PORTAL_NAME.
static java.lang.String STATUS_AWAITING
          The Constant STATUS_AWAITING.
static java.lang.String STATUS_DRAFT
          The Constant STATUS_DRAFT.
static java.lang.String STATUS_SENT
          The Constant STATUS_SENT.
static java.lang.String SUBSCRIPTION_NODETYPE
          The Constant SUBSCRIPTION_NODETYPE.
static java.lang.String SUBSCRIPTION_PROPERTY_CATEGORY_NAME
          The Constant SUBSCRIPTION_PROPERTY_CATEGORY_NAME.
static java.lang.String SUBSCRIPTION_PROPERTY_DECRIPTION
          The Constant SUBSCRIPTION_PROPERTY_DECRIPTION.
static java.lang.String SUBSCRIPTION_PROPERTY_TITLE
          The Constant SUBSCRIPTION_PROPERTY_TITLE.
static java.lang.String SUBSCRIPTION_PROPERTY_USER
          The Constant SUBSCRIPTION_PROPERTY_USER.
static java.lang.String TEMPLATE_BASE_PATH
          The TEMPLATE base path.
static java.lang.String USER_BASE_PATH
          The USER base path.
static java.lang.String USER_NODETYPE
          The Constant USER_NODETYPE.
static java.lang.String USER_PROPERTY_BANNED
          The Constant USER_PROPERTY_BANNED.
static java.lang.String USER_PROPERTY_IS_CONFIRM
           
static java.lang.String USER_PROPERTY_MAIL
          The Constant USER_PROPERTY_MAIL.
static java.lang.String USER_PROPERTY_VALIDATION_CODE
          The Constant USER_PROPERTY_VALIDATION_CODE.
 
Constructor Summary
NewsletterConstant()
           
 
Method Summary
static void addPermissionsFromCateToSubs(javax.jcr.Node categoryNode, java.lang.String[] userIds, java.lang.String[] permissions)
          Add all permissions of category into subscriptions of this category.
static java.util.List<java.lang.String> convertValuesToArray(javax.jcr.Value[] values)
           
static java.lang.String generateCategoryPath(java.lang.String portalName)
          Generate category path.
static java.lang.String generateCategoryTemplateBasePath(java.lang.String portalName, java.lang.String categoryName)
          Generate category template base path.
static java.lang.String generateDefaultTemplatePath(java.lang.String portalName)
          Generate default template path.
static java.lang.String generateNewsletterPath(java.lang.String portalName, java.lang.String categoryName, java.lang.String subscriptionName, java.lang.String newsletterName)
          Generate newsletter path.
static java.lang.String generateSubscriptionPath(java.lang.String portalName, java.lang.String categoryName, java.lang.String subscriptionName)
          Generate subscription path.
static java.lang.String generateUserPath(java.lang.String portalName)
          Generate user path.
static javax.jcr.NodeIterator getAllCategories(javax.jcr.Session session)
           
static java.util.List<java.lang.String> getAllPermissionOfNode(javax.jcr.Node node)
          Get all permission of node, only get users, groups or membership who have all permissions per this node
static java.util.List<java.lang.String> getAllRedactor(java.lang.String portalName, javax.jcr.Session session)
          Get all redactors in all subscriptions of newsletter
static boolean hasPermission(java.lang.String userId, javax.jcr.Node node)
          Check current user has permission to access a node or not - List all node's permissions - For each node's permissions, get AccessControlEntries - For each AccessControlEntries, compare with user's permissions - If AccessControlEntry has membership type is "*", just check the user's group id only - If AccessControlEntry has other membership types, then check the user's membership type and user's group id - If user have full access (READ, ADD_NODE, SET_PROPERTY, REMOVE) return true - Otherwise return false - Other case, return false
static boolean havePermission(java.util.List<java.lang.String> list1, java.util.List<java.lang.String> list2)
          Check permission by comparing two lists permission.
static void removeAccessPermission(java.lang.String[] removedPermissions)
          Remove access permissions
static java.util.List<java.lang.String> removePermission(javax.jcr.Node subscriptionNode, javax.jcr.Node categoryNode, java.util.List<java.lang.String> candidateRemove, boolean isAddNew, java.lang.String portalName, javax.jcr.Session session)
           
static void updateAccessPermission(java.lang.String[] accessPermissions)
          Update access permissions
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CATEGORIES_PROPERTY_ADDMINISTRATOR

public static final java.lang.String CATEGORIES_PROPERTY_ADDMINISTRATOR
The Constant CATEGORIES_PROPERTY_ADDMINISTRATOR.

See Also:
Constant Field Values

CATEGORY_NODETYPE

public static final java.lang.String CATEGORY_NODETYPE
The Constant CATEGORY_NODETYPE.

See Also:
Constant Field Values

CATEGORY_PROPERTY_TITLE

public static final java.lang.String CATEGORY_PROPERTY_TITLE
The Constant CATEGORY_PROPERTY_TITLE.

See Also:
Constant Field Values

CATEGORY_PROPERTY_DESCRIPTION

public static final java.lang.String CATEGORY_PROPERTY_DESCRIPTION
The Constant CATEGORY_PROPERTY_DESCRIPTION.

See Also:
Constant Field Values

SUBSCRIPTION_NODETYPE

public static final java.lang.String SUBSCRIPTION_NODETYPE
The Constant SUBSCRIPTION_NODETYPE.

See Also:
Constant Field Values

SUBSCRIPTION_PROPERTY_USER

public static final java.lang.String SUBSCRIPTION_PROPERTY_USER
The Constant SUBSCRIPTION_PROPERTY_USER.

See Also:
Constant Field Values

SUBSCRIPTION_PROPERTY_TITLE

public static final java.lang.String SUBSCRIPTION_PROPERTY_TITLE
The Constant SUBSCRIPTION_PROPERTY_TITLE.

See Also:
Constant Field Values

SUBSCRIPTION_PROPERTY_DECRIPTION

public static final java.lang.String SUBSCRIPTION_PROPERTY_DECRIPTION
The Constant SUBSCRIPTION_PROPERTY_DECRIPTION.

See Also:
Constant Field Values

SUBSCRIPTION_PROPERTY_CATEGORY_NAME

public static final java.lang.String SUBSCRIPTION_PROPERTY_CATEGORY_NAME
The Constant SUBSCRIPTION_PROPERTY_CATEGORY_NAME.

See Also:
Constant Field Values

ENTRY_NODETYPE

public static final java.lang.String ENTRY_NODETYPE
The Constant ENTRY_NODETYPE.

See Also:
Constant Field Values

ENTRY_PROPERTY_TYPE

public static final java.lang.String ENTRY_PROPERTY_TYPE
The Constant ENTRY_PROPERTY_TYPE.

See Also:
Constant Field Values

ENTRY_PROPERTY_DATE

public static final java.lang.String ENTRY_PROPERTY_DATE
The Constant ENTRY_PROPERTY_DATE.

See Also:
Constant Field Values

ENTRY_PROPERTY_STATUS

public static final java.lang.String ENTRY_PROPERTY_STATUS
The Constant ENTRY_PROPERTY_STATUS.

See Also:
Constant Field Values

ENTRY_PROPERTY_SUBSCRIPTION_NAME

public static final java.lang.String ENTRY_PROPERTY_SUBSCRIPTION_NAME
The Constant ENTRY_PROPERTY_SUBSCRIPTION_NAME.

See Also:
Constant Field Values

ENTRY_PROPERTY_CATEGORY_NAME

public static final java.lang.String ENTRY_PROPERTY_CATEGORY_NAME
The Constant ENTRY_PROPERTY_CATEGORY_NAME.

See Also:
Constant Field Values

ENTRY_PROPERTY_CONTENT_MAIN

public static final java.lang.String ENTRY_PROPERTY_CONTENT_MAIN
The Constant ENTRY_PROPERTY_CONTENT_MAIN.

See Also:
Constant Field Values

ENTRY_PROPERTY_NAME

public static final java.lang.String ENTRY_PROPERTY_NAME
The Constant ENTRY_PROPERTY_NAME.

See Also:
Constant Field Values

ENTRY_PROPERTY_TITLE

public static final java.lang.String ENTRY_PROPERTY_TITLE
The Constant ENTRY_PROPERTY_TITLE.

See Also:
Constant Field Values

USER_NODETYPE

public static final java.lang.String USER_NODETYPE
The Constant USER_NODETYPE.

See Also:
Constant Field Values

USER_PROPERTY_MAIL

public static final java.lang.String USER_PROPERTY_MAIL
The Constant USER_PROPERTY_MAIL.

See Also:
Constant Field Values

USER_PROPERTY_BANNED

public static final java.lang.String USER_PROPERTY_BANNED
The Constant USER_PROPERTY_BANNED.

See Also:
Constant Field Values

USER_PROPERTY_VALIDATION_CODE

public static final java.lang.String USER_PROPERTY_VALIDATION_CODE
The Constant USER_PROPERTY_VALIDATION_CODE.

See Also:
Constant Field Values

USER_PROPERTY_IS_CONFIRM

public static final java.lang.String USER_PROPERTY_IS_CONFIRM
See Also:
Constant Field Values

STATUS_DRAFT

public static final java.lang.String STATUS_DRAFT
The Constant STATUS_DRAFT.

See Also:
Constant Field Values

STATUS_AWAITING

public static final java.lang.String STATUS_AWAITING
The Constant STATUS_AWAITING.

See Also:
Constant Field Values

STATUS_SENT

public static final java.lang.String STATUS_SENT
The Constant STATUS_SENT.

See Also:
Constant Field Values

PORTAL_NAME

public static final java.lang.String PORTAL_NAME
The Constant PORTAL_NAME.

See Also:
Constant Field Values

TEMPLATE_BASE_PATH

public static java.lang.String TEMPLATE_BASE_PATH
The TEMPLATE base path.


CATEGORY_BASE_PATH

public static java.lang.String CATEGORY_BASE_PATH
The CATEGORY base path.


USER_BASE_PATH

public static java.lang.String USER_BASE_PATH
The USER base path.

Constructor Detail

NewsletterConstant

public NewsletterConstant()
Method Detail

generateDefaultTemplatePath

public static java.lang.String generateDefaultTemplatePath(java.lang.String portalName)
Generate default template path.

Parameters:
portalName - the portal name
Returns:
the string

generateCategoryTemplateBasePath

public static java.lang.String generateCategoryTemplateBasePath(java.lang.String portalName,
                                                                java.lang.String categoryName)
Generate category template base path.

Parameters:
portalName - the portal name
categoryName - the category name
Returns:
the string

generateCategoryPath

public static java.lang.String generateCategoryPath(java.lang.String portalName)
Generate category path.

Parameters:
portalName - the portal name
Returns:
the string

generateUserPath

public static java.lang.String generateUserPath(java.lang.String portalName)
Generate user path.

Parameters:
portalName - the portal name
Returns:
the string

generateSubscriptionPath

public static java.lang.String generateSubscriptionPath(java.lang.String portalName,
                                                        java.lang.String categoryName,
                                                        java.lang.String subscriptionName)
Generate subscription path.

Parameters:
portalName - the portal name
categoryName - the category name
subscriptionName - the subscription name
Returns:
the string

generateNewsletterPath

public static java.lang.String generateNewsletterPath(java.lang.String portalName,
                                                      java.lang.String categoryName,
                                                      java.lang.String subscriptionName,
                                                      java.lang.String newsletterName)
Generate newsletter path.

Parameters:
portalName - the portal name
categoryName - the category name
subscriptionName - the subscription name
newsletterName - the newsletter name
Returns:
the string

getAllPermissionOfNode

public static java.util.List<java.lang.String> getAllPermissionOfNode(javax.jcr.Node node)
                                                               throws java.lang.Exception
Get all permission of node, only get users, groups or membership who have all permissions per this node

Parameters:
node - Node which you want to get
Returns:
List of permission include: users, groups or membership
Throws:
java.lang.Exception - The exception

havePermission

public static boolean havePermission(java.util.List<java.lang.String> list1,
                                     java.util.List<java.lang.String> list2)
Check permission by comparing two lists permission. If in list1 have any element of list2 will return true and return false if don't have any element which contained in list1 but don't contained in list2

Parameters:
list1 - List of permission
list2 - List of Permission
Returns:
return true and return false if don't have any element which contained in list1 but don't contained in list2

addPermissionsFromCateToSubs

public static void addPermissionsFromCateToSubs(javax.jcr.Node categoryNode,
                                                java.lang.String[] userIds,
                                                java.lang.String[] permissions)
                                         throws java.lang.Exception
Add all permissions of category into subscriptions of this category. All moderators after added into category will be updated into subscription. All users will have permissions which you wanted in permissions

Parameters:
categoryNode - Category Node which have just updated
userIds - Arrays of users
permissions - Arrays of permission
Throws:
java.lang.Exception - The exception

updateAccessPermission

public static void updateAccessPermission(java.lang.String[] accessPermissions)
                                   throws java.lang.Exception
Update access permissions

Parameters:
accessPermissions - list of user will be set access permission
component - UIComponent
Throws:
java.lang.Exception - The exception

removeAccessPermission

public static void removeAccessPermission(java.lang.String[] removedPermissions)
                                   throws java.lang.Exception
Remove access permissions

Parameters:
accessPermissions - list of user will be set access permission
Throws:
java.lang.Exception - The exception

getAllCategories

public static javax.jcr.NodeIterator getAllCategories(javax.jcr.Session session)
                                               throws java.lang.Exception
Throws:
java.lang.Exception

getAllRedactor

public static java.util.List<java.lang.String> getAllRedactor(java.lang.String portalName,
                                                              javax.jcr.Session session)
                                                       throws java.lang.Exception
Get all redactors in all subscriptions of newsletter

Parameters:
portalName - name of portal
sessionProvider - The SessionProvider
Returns:
List of redactor
Throws:
java.lang.Exception - The exception

removePermission

public static java.util.List<java.lang.String> removePermission(javax.jcr.Node subscriptionNode,
                                                                javax.jcr.Node categoryNode,
                                                                java.util.List<java.lang.String> candidateRemove,
                                                                boolean isAddNew,
                                                                java.lang.String portalName,
                                                                javax.jcr.Session session)

convertValuesToArray

public static java.util.List<java.lang.String> convertValuesToArray(javax.jcr.Value[] values)

hasPermission

public static boolean hasPermission(java.lang.String userId,
                                    javax.jcr.Node node)
Check current user has permission to access a node or not - List all node's permissions - For each node's permissions, get AccessControlEntries - For each AccessControlEntries, compare with user's permissions - If AccessControlEntry has membership type is "*", just check the user's group id only - If AccessControlEntry has other membership types, then check the user's membership type and user's group id - If user have full access (READ, ADD_NODE, SET_PROPERTY, REMOVE) return true - Otherwise return false - Other case, return false

Parameters:
userId - the current user's name
node - the current node
Returns:
the list of newsletter category object


Copyright © 2011 eXo Platform SAS. All Rights Reserved.