com.bea.apps.groupspace.announcements.controls
Class AnnouncementsControlImpl

java.lang.Object
  extended by com.bea.apps.groupspace.controls.generic.ContentControlBaseImpl<T,Folder>
      extended by com.bea.apps.groupspace.controls.generic.GroupSpaceContentControlImpl<T>
          extended by com.bea.apps.groupspace.controls.generic.CM_ControlImpl<Announcement>
              extended by com.bea.apps.groupspace.announcements.controls.AnnouncementsControlImpl
All Implemented Interfaces
AnnouncementsControl, CM_Control<Announcement>, ContentControlBase<Announcement,Folder>, GroupSpaceContentControl<Announcement>, Serializable

public class AnnouncementsControlImpl
extends CM_ControlImpl<Announcement>
implements AnnouncementsControl, Serializable

See Also
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.bea.apps.groupspace.controls.generic.ContentControlBase
ContentControlBase.NodeSearchType, ContentControlBase.Params
 
Field Summary
protected  AnnouncementsPollerControl announcementPoller
           
protected  com.bea.apps.groupspace.announcements.controls.AnnouncementsCmxControl announcementsBeanX
           
protected  com.bea.apps.groupspace.announcements.controls.AnnouncementsCmxControl announcementsTypeBeanX
           
protected  org.apache.beehive.controls.api.context.ControlBeanContext controlContext
          Control context
 
Fields inherited from class com.bea.apps.groupspace.controls.generic.CM_ControlImpl
ccCmxControl, folderControl, topNode, topNodeName
 
Fields inherited from class com.bea.apps.groupspace.controls.generic.GroupSpaceContentControlImpl
ALL_TYPES, contentContext
 
Fields inherited from class com.bea.apps.groupspace.controls.generic.ContentControlBaseImpl
beanClass, contentFactory, DEFAULT_SEARCH_LOAD_SIZE, nodeManager, objectClassType, repoID, repoName, searchManager, typeManager
 
Constructor Summary
AnnouncementsControlImpl()
           
 
Method Summary
 Announcement create(String title, String description, CommunityContent.Visibility visibility, Calendar expiration, String messageBody)
          Creates an announcement with the effective date of the announcement being set to the current time.
 Announcement create(String title, String description, CommunityContent.Visibility visibility, String severity, Calendar expiration, String messageBody, ID parentId)
          Creates an announcement with the effective date of the announcement being set to the current time.
 Announcement create(String title, String description, CommunityContent.Visibility visibility, String severity, String attachment, String addressTo, Calendar effective, Calendar expiration, String messageBody, ID parentId, ID[] relatedNodes)
          Creates an announcement.
 Announcement create(String title, String description, CommunityContent.Visibility visibility, String severity, String attachment, String addressTo, Calendar effective, Calendar expiration, String messageBody, ID parentId, ID[] relatedNodes, Set<CmxControl.PropertyPair> dynamicProps)
           
protected  Announcement createObject(Node node)
          We're creating Links from a Node
 ObjectClass createType()
           
 Set<Announcement> getEffectiveAnnouncements()
          Returns the set of announcements that are: Currently in effect Apply to the currently logged in user.
 SortableFilterablePagedResult getEffectiveAnnouncementsAsPagedResult(SortCriteria[] sortCriteria)
          Returns the set of announcements that are: Currently in effect Apply to the currently logged in user.
 String getMessageBody(Announcement announcement)
           
 void onCreate()
          Put any other init params here.
 void update(Announcement ann)
          Update an existing thing and flush binary/search caches todo check out interface comment to be sure comment about wrapped exceptions is right todo maybe add RepoEx part to them all to go with wrapped disclaimer overridden to use GS_UtilCmxControlBean
 
Methods inherited from class com.bea.apps.groupspace.controls.generic.CM_ControlImpl
createFolder, getCommunityFolderNode, getDefaultFolder, getFolderByExpression, getPersonalContentFolder, getTopNode, getUserFolder
 
Methods inherited from class com.bea.apps.groupspace.controls.generic.GroupSpaceContentControlImpl
asSet, createFolder, findByDescription, findById, findByTitle, findContentById, findMany, getAll, getAllNodes, getCommunity, getCommunityAndPrivate, getCommunityFolder, getFolder, getImmediateChildrenAsPagedResult, getPersonal, getPrivate, getReferencingContent, getReferencingContent, getRelatedContent, move, promoteToCommunity, remove, removeAll, removeCommunityAndPrivate, removePersonal, removePrivate
 
Methods inherited from class com.bea.apps.groupspace.controls.generic.ContentControlBaseImpl
createObjectClass, createObjects, createObjects, findMany, findManyChildren, getAllChildren, getAllPropertyDefinitions, getDefaultStringValue, getImmediateChildren, getImmediateChildren, getObjectClass, getTopFolder, move, recurseRepository, remove, remove, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.bea.apps.groupspace.controls.generic.CM_Control
getPersonalContentFolder
 
Methods inherited from interface com.bea.apps.groupspace.controls.generic.GroupSpaceContentControl
asSet, createFolder, createFolder, findByDescription, findByTitle, getCommunity, getCommunityAndPrivate, getCommunityFolder, getPersonal, getPrivate, getReferencingContent, getReferencingContent, getRelatedContent, promoteToCommunity, removeCommunityAndPrivate, removePersonal, removePrivate
 
Methods inherited from interface com.bea.apps.groupspace.controls.generic.ContentControlBase
createObjectClass, createObjects, createObjects, findById, findContentById, findMany, findMany, findManyChildren, getAllPropertyDefinitions, getDefaultStringValue, getFolder, getImmediateChildren, getImmediateChildren, getImmediateChildrenAsPagedResult, getObjectClass, getTopFolder, getTopNode, move, move, remove, remove, remove, removeAll, update
 

Field Detail

controlContext

protected org.apache.beehive.controls.api.context.ControlBeanContext controlContext
Control context


announcementPoller

protected AnnouncementsPollerControl announcementPoller

announcementsBeanX

protected com.bea.apps.groupspace.announcements.controls.AnnouncementsCmxControl announcementsBeanX

announcementsTypeBeanX

protected com.bea.apps.groupspace.announcements.controls.AnnouncementsCmxControl announcementsTypeBeanX
Constructor Detail

AnnouncementsControlImpl

public AnnouncementsControlImpl()
Method Detail

create

public Announcement create(String title,
                           String description,
                           CommunityContent.Visibility visibility,
                           Calendar expiration,
                           String messageBody)
                    throws NoSuchNodeException,
                           RepositoryException,
                           AuthorizationException,
                           CharacterCodingException
Description copied from interface: AnnouncementsControl
Creates an announcement with the effective date of the announcement being set to the current time. The parent node will be set to the default node ID (as defined in CommunityContent). The severity of the announcement will be set to NORMAL. The remaining items will be set to null:

Specified by:
create in interface AnnouncementsControl
Parameters
title - Title of the announcement (or subject)
description - A lengthy description of the announcment.
visibility - Visibility (Community, personal, private)
expiration - Expiration date of announcement.
Returns
An Announcement object if successful.
Throws
NoSuchNodeException
RepositoryException
AuthorizationException
CharacterCodingException

create

public Announcement create(String title,
                           String description,
                           CommunityContent.Visibility visibility,
                           String severity,
                           Calendar expiration,
                           String messageBody,
                           ID parentId)
                    throws NoSuchNodeException,
                           RepositoryException,
                           AuthorizationException,
                           CharacterCodingException
Description copied from interface: AnnouncementsControl
Creates an announcement with the effective date of the announcement being set to the current time. The remaining items will be set to null:

Specified by:
create in interface AnnouncementsControl
Parameters
title - Title of the announcement (or subject)
description - A lengthy description of the announcment.
visibility - Visibility (Community, personal, private)
severity - The severity of the announcement.
expiration - Expiration date of announcement.
parentId - The parent node ID
Returns
An Announcement object if successful.
Throws
NoSuchNodeException
RepositoryException
AuthorizationException
CharacterCodingException

create

public Announcement create(String title,
                           String description,
                           CommunityContent.Visibility visibility,
                           String severity,
                           String attachment,
                           String addressTo,
                           Calendar effective,
                           Calendar expiration,
                           String messageBody,
                           ID parentId,
                           ID[] relatedNodes)
                    throws NoSuchNodeException,
                           RepositoryException,
                           AuthorizationException,
                           CharacterCodingException
Description copied from interface: AnnouncementsControl
Creates an announcement.

Specified by:
create in interface AnnouncementsControl
Parameters
title - Title of the announcement (or subject)
description - A lengthy description of the announcment.
visibility - Visibility (Community, personal, private)
attachment - TODO
addressTo - If the visibility is community, this can be one of the roles defined as membership capability.
effective - Effective date of announcement.
expiration - Expiration date of announcement.
parentId - The parent node ID
relatedNodes - TODO
Returns
AnAnnouncement object if successful.
Throws
NoSuchNodeException
RepositoryException
AuthorizationException
CharacterCodingException

create

public Announcement create(String title,
                           String description,
                           CommunityContent.Visibility visibility,
                           String severity,
                           String attachment,
                           String addressTo,
                           Calendar effective,
                           Calendar expiration,
                           String messageBody,
                           ID parentId,
                           ID[] relatedNodes,
                           Set<CmxControl.PropertyPair> dynamicProps)
                    throws NoSuchNodeException,
                           RepositoryException,
                           AuthorizationException,
                           CharacterCodingException
Specified by:
create in interface AnnouncementsControl
Throws
NoSuchNodeException
RepositoryException
AuthorizationException
CharacterCodingException

createType

public ObjectClass createType()
                       throws NoSuchNodeException,
                              RepositoryException,
                              AuthorizationException
Specified by:
createType in class ContentControlBaseImpl<Announcement,Folder>
Throws
NoSuchNodeException
RepositoryException
AuthorizationException

update

public void update(Announcement ann)
            throws AuthorizationException,
                   NoSuchNodeException,
                   NoSuchPropertyException,
                   RepositoryException
Description copied from class: GroupSpaceContentControlImpl
Update an existing thing and flush binary/search caches todo check out interface comment to be sure comment about wrapped exceptions is right todo maybe add RepoEx part to them all to go with wrapped disclaimer overridden to use GS_UtilCmxControlBean

Specified by:
update in interface ContentControlBase<Announcement,Folder>
Overrides:
update in class GroupSpaceContentControlImpl<Announcement>
Throws
AuthorizationException - throws ControlException - unchecked exception that wraps AuthenticationException, NoSuchPropertyException, InstantiationException, IllegalAccessException, InvocationTargetException, NodeMapper.NodeMapperException, IOException
RepositoryException
NoSuchNodeException
NoSuchPropertyException

getEffectiveAnnouncements

public Set<Announcement> getEffectiveAnnouncements()
                                            throws AuthorizationException,
                                                   NoSuchNodeException,
                                                   RepositoryException
Returns the set of announcements that are:
  1. Currently in effect
  2. Apply to the currently logged in user.

Specified by:
getEffectiveAnnouncements in interface AnnouncementsControl
Returns
A paired down set of announcements based on the above criteria.
Throws
AuthorizationException
NoSuchNodeException
RepositoryException

getEffectiveAnnouncementsAsPagedResult

public SortableFilterablePagedResult getEffectiveAnnouncementsAsPagedResult(SortCriteria[] sortCriteria)
                                                                     throws AuthorizationException,
                                                                            NoSuchNodeException,
                                                                            RepositoryException
Returns the set of announcements that are:
  1. Currently in effect
  2. Apply to the currently logged in user.

Specified by:
getEffectiveAnnouncementsAsPagedResult in interface AnnouncementsControl
Returns
A paired down set of announcements based on the above criteria.
Throws
AuthorizationException
NoSuchNodeException
RepositoryException

createObject

protected Announcement createObject(Node node)
We're creating Links from a Node

Specified by:
createObject in class ContentControlBaseImpl<Announcement,Folder>

getMessageBody

public String getMessageBody(Announcement announcement)
                      throws RepositoryException,
                             AuthorizationException
Specified by:
getMessageBody in interface AnnouncementsControl
Throws
RepositoryException
AuthorizationException

onCreate

public void onCreate()
              throws org.apache.beehive.controls.api.ControlException
Put any other init params here. Note they can go on the control interface annotations. See the CM_Control.java file for an example of declaring parameters, and the CM_ControlImpl.jcs file for accessing those parameters

Overrides:
onCreate in class CM_ControlImpl<Announcement>
Throws
org.apache.beehive.controls.api.ControlException


Copyright © 2006 BEA Systems, Inc. All Rights Reserved