com.filenet.bso.collaboration.workflow.operations
Class CollaborationOperations
java.lang.Object
|
+--com.filenet.bso.collaboration.workflow.operations.CollaborationOperations
- public class CollaborationOperations
- extends java.lang.Object
A class that implements Collaboration operations that may be
performed by workflows.
These operations can be hooked up to Component Integrator steps used
in a workflow.
Method Summary |
filenet.vw.api.VWAttachment |
createTask(filenet.vw.api.VWAttachment TCMTeamspaceRef,
java.lang.String TCMTaskName,
filenet.vw.api.VWParticipant TCMTaskAssigner,
filenet.vw.api.VWParticipant TCMTaskAssignee,
boolean TCMWorkflowAwareFlag,
java.util.Date TCMTaskDueDate,
java.util.Date TCMTaskReminderDate,
java.lang.Integer TCMTaskPriority,
java.lang.String TCMTaskDescription,
java.lang.String TCMWaitQueueName,
java.lang.String TCMTaskStepWobNum,
filenet.vw.api.VWAttachment[] TCMTaskAttachments,
java.lang.String TCMTaskAttachmentsFieldName,
java.lang.String TCMAppId)
Creates a Collaboration Task. |
filenet.vw.api.VWAttachment |
createTeamspace(filenet.vw.api.VWAttachment TCMTeamspaceParentFolder,
java.lang.String TCMTeamspaceFolderClass,
java.lang.String TCMTeamspaceName,
filenet.vw.api.VWParticipant TCMTeamspaceOwner,
java.lang.String TCMOwnerRole,
java.lang.String TCMOwnerEmailAddress,
java.lang.String[] TCMTeamspacePropertyNames,
java.lang.String[] TCMTeamspacePropertyTypes,
java.lang.String[] TCMTeamspacePropertyValues,
java.lang.String TCMAppId)
Creates a Collaboration Teamspace and returns the teamspace reference. |
filenet.vw.api.VWAttachment |
createTeamspaceFromTemplate(filenet.vw.api.VWAttachment TCMTeamspaceTemplate,
filenet.vw.api.VWAttachment TCMTeamspaceParentFolder,
java.lang.String TCMTeamspaceName,
filenet.vw.api.VWParticipant TCMTeamspaceOwner,
java.lang.String TCMOwnerRole,
java.lang.String TCMOwnerEmailAddress,
java.lang.String TCMAppId)
Creates a Collaboration Teamspace From a Teamspace Template and returns the teamspace reference. |
filenet.vw.api.VWAttachment |
createTeamspaceWithMembers(filenet.vw.api.VWAttachment TCMTeamspaceParentFolder,
java.lang.String TCMTeamspaceFolderClass,
java.lang.String TCMTeamspaceName,
filenet.vw.api.VWParticipant TCMTeamspaceOwner,
java.lang.String TCMOwnerRole,
java.lang.String TCMOwnerEmailAddress,
java.lang.String[] TCMTeamspacePropertyNames,
java.lang.String[] TCMTeamspacePropertyTypes,
java.lang.String[] TCMTeamspacePropertyValues,
java.lang.String TCMAppId,
filenet.vw.api.VWParticipant[] TCMNewMembers,
java.lang.Integer[] TCMMembersTypes,
java.lang.String[] TCMMembersRoles,
java.lang.String[] TCMMembersEmailAddresses)
Creates a Collaboration Teamspace with members specified and returns the teamspace reference. |
protected java.lang.String |
dumpVWParticipant(filenet.vw.api.VWParticipant participant)
|
protected java.lang.String |
getSecurityID(com.filenet.wcm.api.ObjectStore store,
filenet.vw.api.VWSession vwSession,
filenet.vw.api.VWParticipant participant)
Get the security ID for the VWParticipant. |
protected static filenet.vw.api.VWSession |
getVWSession()
Retrieves and verifies a VWSession object from thread local storage
Can log exception if unable to get the session. |
protected void |
verifyMemberTypesAndRoles(com.filenet.wcm.api.ObjectStore store,
java.lang.Integer[] membersTypes,
java.lang.String[] membersRoles,
filenet.vw.api.VWParticipant[] members)
Verifies the types against allowed member types and roles against the TCM collaboration store. |
protected void |
verifyVWParticipant(filenet.vw.api.VWParticipant participant,
java.lang.String paramName)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
m_logger
protected static filenet.vw.base.logging.Logger m_logger
m_className
protected static final java.lang.String m_className
m_MemberTypesParameterName
protected static final java.lang.String m_MemberTypesParameterName
m_MemberRolesParameterName
protected static final java.lang.String m_MemberRolesParameterName
CollaborationOperations
public CollaborationOperations()
createTeamspace
public filenet.vw.api.VWAttachment createTeamspace(filenet.vw.api.VWAttachment TCMTeamspaceParentFolder,
java.lang.String TCMTeamspaceFolderClass,
java.lang.String TCMTeamspaceName,
filenet.vw.api.VWParticipant TCMTeamspaceOwner,
java.lang.String TCMOwnerRole,
java.lang.String TCMOwnerEmailAddress,
java.lang.String[] TCMTeamspacePropertyNames,
java.lang.String[] TCMTeamspacePropertyTypes,
java.lang.String[] TCMTeamspacePropertyValues,
java.lang.String TCMAppId)
throws java.lang.Exception
- Creates a Collaboration Teamspace and returns the teamspace reference.
- Parameters:
TCMTeamspaceParentFolder
- A VWAttachment specifying the folder to create a teamspace in.TCMTeamspaceFolderClass
- CE Object Store Folder Class Name
, if null then
Collaboration.COLLABORATION_TEAMSPACE_CLASSNAME
is used.TCMTeamspaceName
- The name to be given to the Teamspace created.TCMTeamspaceOwner
- The userID
for the owner of the Teamspace.TCMOwnerRole
- The symbolic name of a Collaboration Store Access Level
.TCMOwnerEmailAddress
- The Teamspace
owner's email address to use for notifications. An exception
is thrown if there is not one available in the Directory Services and one is not
provided here. If the email is not valid then the owner will not get teamspace
email notifications.TCMTeamspacePropertyNames
- An array of symbolic names of the CE properties
to be set.
The TCMTeamspacePropertyNames, TCMTeamspacePropertyTypes, and TCMTeamspacePropertyValues parameters must be synchronized arrays.TCMTeamspacePropertyTypes
- An array of WCM API property types
for the TCMTeamspacePropertyNames
to
be set. Check reference below for property types.TCMTeamspacePropertyValues
- An array of values for the TCMTeamspacePropertyNames
to be set. The values should
be presented as Strings
and will be converted to CE property values using
the TCMTeamspacePropertyTypes
.TCMAppId
- TCM Application ID used to determine the web application used by the teamspace. It must
match an application ID in the Application Configuration file. The ID should
be specified depending on the application or language support desired.- Returns:
- TCMTeamspaceRef A
VWAttachment
specifying a reference to the created Teamspace. - Throws:
java.lang.Exception
- - See Also:
- Property
createTeamspaceWithMembers
public filenet.vw.api.VWAttachment createTeamspaceWithMembers(filenet.vw.api.VWAttachment TCMTeamspaceParentFolder,
java.lang.String TCMTeamspaceFolderClass,
java.lang.String TCMTeamspaceName,
filenet.vw.api.VWParticipant TCMTeamspaceOwner,
java.lang.String TCMOwnerRole,
java.lang.String TCMOwnerEmailAddress,
java.lang.String[] TCMTeamspacePropertyNames,
java.lang.String[] TCMTeamspacePropertyTypes,
java.lang.String[] TCMTeamspacePropertyValues,
java.lang.String TCMAppId,
filenet.vw.api.VWParticipant[] TCMNewMembers,
java.lang.Integer[] TCMMembersTypes,
java.lang.String[] TCMMembersRoles,
java.lang.String[] TCMMembersEmailAddresses)
throws java.lang.Exception
- Creates a Collaboration Teamspace with members specified and returns the teamspace reference.
- Parameters:
TCMTeamspaceParentFolder
- A VWAttachment specifying the folder to create a teamspace in.TCMTeamspaceFolderClass
- CE Object Store Folder Class Name
, if null then
Collaboration.COLLABORATION_TEAMSPACE_CLASSNAME
is used.TCMTeamspaceName
- The name to be given to the Teamspace created.TCMTeamspaceOwner
- The userID
for the owner of the Teamspace.TCMOwnerRole
- The symbolic name of a Collaboration Store Access Level
.TCMOwnerEmailAddress
- The Teamspace
owner's email address to use for notifications. An exception
is thrown if there is not one available in the Directory Services and one is not
provided here. If the email is not valid then the owner will not get teamspace
email notifications.TCMTeamspacePropertyNames
- An array of symbolic names of the CE properties
to be set.
The TCMTeamspacePropertyNames, TCMTeamspacePropertyTypes, and TCMTeamspacePropertyValues parameters must be synchronized arrays.TCMTeamspacePropertyTypes
- An array of WCM API property types
for the TCMTeamspacePropertyNames
to
be set. Check reference below for property types.TCMTeamspacePropertyValues
- An array of values for the TCMTeamspacePropertyNames
to be set. The values should
be presented as Strings
and will be converted to CE property values using
the TCMTeamspacePropertyTypes
.TCMAppId
- TCM Application ID used to determine the web application used by the teamspace. It must
match an application ID in the Application Configuration file. The ID should
be specified depending on the application or language support desired.TCMNewMembers
- A VWParticipant
array of users to become teamspace members.TCMMembersTypes
- A Integer
array of member types. See Member
below for Member types. Array
data must be in corresponding order with members.TCMMembersRoles
- A String
array of symnames of member roles. Array data must be in corresponding order with members.TCMMembersEmailAddresses
- A String
array of member's email addresses. Array data must be in corresponding order with members.
If an email is not provided here then there must be an email address for the corresponding
member in the P8 directory services. This can be a sparsely filled out array.- Returns:
- TCMTeamspaceRef A
VWAttachment
specifying a reference to the created Teamspace. - Throws:
java.lang.Exception
- - See Also:
- Property,
Member
createTeamspaceFromTemplate
public filenet.vw.api.VWAttachment createTeamspaceFromTemplate(filenet.vw.api.VWAttachment TCMTeamspaceTemplate,
filenet.vw.api.VWAttachment TCMTeamspaceParentFolder,
java.lang.String TCMTeamspaceName,
filenet.vw.api.VWParticipant TCMTeamspaceOwner,
java.lang.String TCMOwnerRole,
java.lang.String TCMOwnerEmailAddress,
java.lang.String TCMAppId)
throws java.lang.Exception
- Creates a Collaboration Teamspace From a Teamspace Template and returns the teamspace reference.
- Parameters:
TCMTeamspaceTemplate
- A Teamspace Template workflow attachment.TCMTeamspaceParentFolder
- A VWAttachment specifying the folder to create a teamspace in.TCMTeamspaceName
- The name to be given to the Teamspace created.TCMTeamspaceOwner
- The userID
for the owner of the Teamspace.TCMOwnerRole
- The symbolic name of a Collaboration Store Role
.TCMOwnerEmailAddress
- The Teamspace
owner's email address to use for notifications. An exception
is thrown if there is not one available in the Directory Services and one is not
provided here. If the email is not valid then the owner will not get teamspace
email notifications.TCMAppId
- TCM Application Id used to determine the web application used by the teamspace. It must
match an application ID in the Application Configuration file. The ID should
be specified depending on the application or language support desired.- Returns:
- TCMTeamspaceRef A
VWAttachment
specifying a reference to the created Teamspace. - Throws:
java.lang.Exception
-
createTask
public filenet.vw.api.VWAttachment createTask(filenet.vw.api.VWAttachment TCMTeamspaceRef,
java.lang.String TCMTaskName,
filenet.vw.api.VWParticipant TCMTaskAssigner,
filenet.vw.api.VWParticipant TCMTaskAssignee,
boolean TCMWorkflowAwareFlag,
java.util.Date TCMTaskDueDate,
java.util.Date TCMTaskReminderDate,
java.lang.Integer TCMTaskPriority,
java.lang.String TCMTaskDescription,
java.lang.String TCMWaitQueueName,
java.lang.String TCMTaskStepWobNum,
filenet.vw.api.VWAttachment[] TCMTaskAttachments,
java.lang.String TCMTaskAttachmentsFieldName,
java.lang.String TCMAppId)
throws java.lang.Exception
- Creates a Collaboration Task.
The collaboration task could be a standard task (nothing to do with workflow) or it could be a workflow
aware task creating a synchronized environment between the workflow and the collaboration task, where the
workflow waits until the collaboration task is completed before continuing. Once a workflow aware collaboration
task is marked complete the collaboration engine will try to re-dispatch the workflow. During this process if a
problem occurs the engine command will be put into an
Error state
and the workflow step will still
be waiting to be dispatched. Issues that could cause a problem are the step cannot be found on the wait queue,
the attachmentFieldName is invalid or the dispatch fails.
- Parameters:
TCMTeamspaceRef
- A VWAttachment specifying the Teamspace for the task to be created in. Required.TCMTaskName
- The name to be given to the Task created. Required.TCMTaskAssigner
- Used as the creator and assigner of the Collaboration task. Required.TCMTaskAssignee
- User that the task is assigned to.TCMWorkflowAwareFlag
- Set to true if the workflow will wait for the collaboration task to complete.
Required.TCMTaskDueDate
- Date and Time that the Collaboration task will be due.TCMTaskReminderDate
- Date and Time to be reminded about the Collaboration task.TCMTaskPriority
- Collaboration task priority level. Defaults to Task.TASKPRIORITY_NORMALTCMTaskDescription
- Description for the task.TCMWaitQueueName
- Name of the wait queue where the workflow step will be held until the TCM task
completes and dispatches the workflow step.
Required if TCMWorkflowAwareFlag is true.TCMTaskStepWobNum
- Workflow Step's Work Object Number, used to find the workflow step to dispatch it.
Required if TCMWorkflowAwareFlag is true.TCMTaskAttachments
- Array of VWAttachment objects representing attachments to be added to the
collaboration task.TCMTaskAttachmentsFieldName
- Workflow field name for the TCMTaskAttachments array. If set it will be used
to attempt to update a workflow aware task's collaboration relationships
back to the workflow. If the field name is incorrect the Engine will put the
completeTask command into an error state.TCMAppId
- TCM Application Id used to determine the web application used by the teamspace. It must
match an application ID in the Application Configuration file. The ID should
be specified depending on the application or language support desired.- Returns:
- TCMTaskRef A
String
containing the Collaboration Task name. - Throws:
java.lang.Exception
-
getVWSession
protected static filenet.vw.api.VWSession getVWSession()
- Retrieves and verifies a VWSession object from thread local storage
Can log exception if unable to get the session.
verifyMemberTypesAndRoles
protected void verifyMemberTypesAndRoles(com.filenet.wcm.api.ObjectStore store,
java.lang.Integer[] membersTypes,
java.lang.String[] membersRoles,
filenet.vw.api.VWParticipant[] members)
throws java.lang.IllegalArgumentException
- Verifies the types against allowed member types and roles against the TCM collaboration store.
- Parameters:
store
- An ObjectStore
reference for the object store containing the collaboration store.membersTypes
- An Integer
array of member types. See MemberInfo.membersRoles
- A String
array of symnames of member roles.members
- A VWParticipant
array of users.- Throws:
java.lang.IllegalArgumentException
-
dumpVWParticipant
protected java.lang.String dumpVWParticipant(filenet.vw.api.VWParticipant participant)
throws filenet.vw.api.VWException
verifyVWParticipant
protected void verifyVWParticipant(filenet.vw.api.VWParticipant participant,
java.lang.String paramName)
throws filenet.vw.api.VWException
getSecurityID
protected java.lang.String getSecurityID(com.filenet.wcm.api.ObjectStore store,
filenet.vw.api.VWSession vwSession,
filenet.vw.api.VWParticipant participant)
throws UserNotFoundException
- Get the security ID for the VWParticipant.
The security ID format varies based on the directory services type.
- Parameters:
store
- vwSession
- participant
- - Returns:
- String or null.
- Throws:
UserNotFoundException
-
Copyright ?2002 - 2005 FileNet Corporation. All rights reserved.