filenet.vw.api

Class VWSession

  • java.lang.Object
    • filenet.vw.api.VWSession
  • All Implemented Interfaces:
    java.io.Serializable


    public final class VWSession
    extends java.lang.Object
    implements java.io.Serializable
    Use this class to establish a session and log onto a Process Engine. Once you have a session object, you can do the following:
    • Query rosters and queues by calling the getRoster or getQueue method to create instances of the VWRoster or VWQueue class.
    • Retrieve a list of roster or queue names by calling the fetchRosterNames or fetchQueueNames methods.
    • Administer the system. Perform tasks such as assigning system user privileges and recovering single or multiple users.
    • Establish an audit trail.
    • Convert class IDs to roster or queue names, and convert user IDs to user names, or the reverse.

    Serialization Constraints

    • VWSession is the only object that is serializable for use with session beans. No other Process Engine Java API objects are guaranteed to be serializable for return to the client.
    • If PE Java API objects are returned from the session bean, the methods on the object requiring remote calls to the Process Engine server are not usable. For example, if VWUserInfo is returned, the get and set methods will function, but the save method will generate an error because a remote connection to the Process Engine is required.
    • Concurrent access using a single instance of a VWSession object must be synchronized. If the objects are not synchronized, and concurrent access is attempted, all subsequent requests will result in an access denied error from the Process Engine server. Additionally, concurrent access through a single VWSession object will also cause server waits, resulting in low performance. Stateless sessions should not cache client information.
    • VWSession does not impersonate a client in a conversational state with the session bean. It is the bean developer's responsibility to acquire the user information necessary to logon.
    • If the bean developer chooses to logon with the same user name for all users, this would have negative effects: Queries, especially on user centric queues, would return the work for one user. The events history would record the same user launching, processing, distributing, and terminating work items. Process Engine security would not be effective, since the permissions to queues, rosters, logs, and work items would be the same.
    • It is the responsibility of the application developer to guard and protect client information and the VWSession object. The user information is encrypted within the VWSession object. Serializing the object, allows any client in possession of the object the ability to re-establish connections to the Process Engine server via the connection point, and connect using the user's information within the object. The VWSession object needs to be secured as if it were a user name and password.
    • If the VWSession object is returned to the client for direct access to the connection point from the client system, the Content Engine URI and connection point used to construct the VWSession within the bean must be reachable from the client and server systems. An example would be a Web farm application that intends for clients and servers to use the same VWSession object directly. A server may have a different TCP/IP address or name on one side of a network segment than that used to access the server from a different network segment. Other conditions where client access issues could arise are DHCP and DNS: the client may not have the Content Engine URI mapped.
    • SOAP connections within a session are not supported for serialization.
    • Serialization of VWSession over a firewall is not supported.

    ASP and ASP.NET

    If you are creating a session for FileNet Web Services or Open Client, use the constructor that has no arguments and call the logon method first. Log on using the JiGlue COM Bridge (JiGlue.Util) to instantiate a VWSession object, then invoke the VWSession.logon method with the VWSession.logon(String, String, String) parameters.

    If you want to use the Application Engine ASP files with this session, call the setProductId method after logging on.

    Warning: If the same or a duplicate VWSession object is used more than one time concurrently, a Process Services error (SAS session is already open) will result.

    See Also:
    recoverUser, VWRoster, VWQueue, Serialized Form
    • Field Detail

      • QUEUE_PROCESS

        public static final int QUEUE_PROCESS
        Value of 1. Pass this value to the fetchFlag parameter of the fetchQueueNames method to return the name of each process queue (a queue that holds objects for an external workflow to process).
        See Also:
        Constant Field Values
      • QUEUE_USER_CENTRIC

        public static final int QUEUE_USER_CENTRIC
        Value of 2. Pass this value to the fetchFlag parameter of the fetchQueueNames method to return the name of each user queue (the individual queue of a workflow user, similar to an inbox for the user).
        See Also:
        Constant Field Values
      • QUEUE_SYSTEM

        public static final int QUEUE_SYSTEM
        Value of 4. Pass this value to the fetchFlag parameter of the fetchQueueNames method to return the name of each system queue (a queue that the system configures).
        See Also:
        Constant Field Values
      • QUEUE_IGNORE_SECURITY

        public static final int QUEUE_IGNORE_SECURITY
        Value of 16. Pass this value to the fetchFlag parameter of the fetchQueueNames method to return the name of queues to which the user has no access.
        See Also:
        Constant Field Values
      • QUEUE_USER_CENTRIC_FOR_USER_ONLY

        public static final int QUEUE_USER_CENTRIC_FOR_USER_ONLY
        Value of 32. Pass this value to the fetchFlag parameter of the fetchQueueNames method to return the name of the user-centric queue associated with the user information. Use with QUEUE_USER_CENTRIC to filter out queues on multiple servers that do not apply to the current user logon to this VWSession object.
        See Also:
        Constant Field Values
      • WEBAPP_NONE

        public static final int WEBAPP_NONE
        Value of 0. Indicates the web application is not set.
        See Also:
        Constant Field Values
      • WEBAPP_WORKPLACE

        public static final int WEBAPP_WORKPLACE
        Value of 1. Indicates the web application is Application Engine.
        See Also:
        Constant Field Values
      • WEBAPP_WEB_WORKFLO

        public static final int WEBAPP_WEB_WORKFLO
        Value of 2. Indicates the web application is FileNet Web Services.
        See Also:
        Constant Field Values
      • WEBAPP_OPEN_CLIENT

        public static final int WEBAPP_OPEN_CLIENT
        Value of 3. Indicates the web application is Open Client.
        See Also:
        Constant Field Values
      • WEBAPP_COLLABORATION

        public static final int WEBAPP_COLLABORATION
        Value of 4. Indicates the web application is Collaboration.
        See Also:
        Constant Field Values
      • WEBAPP_WCM

        public static final int WEBAPP_WCM
        Value of 5. Indicates the web application is WCM.
        See Also:
        Constant Field Values
      • WEBAPP_RECORDS_MANAGER

        public static final int WEBAPP_RECORDS_MANAGER
        Value of 6. Indicates the web application is Records Manager.
        See Also:
        Constant Field Values
      • WEBAPP_WORKPLACE_XT

        public static final int WEBAPP_WORKPLACE_XT
        Value of 7. Indicates the web application is Workplace XT.
        See Also:
        Constant Field Values
      • WEBAPP_ECM_WIDGETS_LOTUS_MASHUPS

        public static final int WEBAPP_ECM_WIDGETS_LOTUS_MASHUPS
        Value of 8. Indicates the web application is IBM ECM Widgets for Lotus Mashups.
        See Also:
        Constant Field Values
      • WEBAPP_ECM_WIDGETS_BUSINESS_SPACE

        public static final int WEBAPP_ECM_WIDGETS_BUSINESS_SPACE
        Value of 9. Indicates the web application is IBM ECM Widgets for Business Space.
        See Also:
        Constant Field Values
      • WEBAPP_CONTENT_NAVIGATOR

        public static final int WEBAPP_CONTENT_NAVIGATOR
        Value of 10. Indicates the web application is IBM Content Navigator.
        See Also:
        Constant Field Values
      • WEBAPP_CASE_MANAGER

        public static final int WEBAPP_CASE_MANAGER
        Value of 11. Indicates the web application is IBM Case Manager.
        See Also:
        Constant Field Values
      • WEBAPP_CUSTOM

        public static final int WEBAPP_CUSTOM
        Value of 100. Indicates the web application is for custom use.
        See Also:
        Constant Field Values
      • DATABASE_ORACLE

        public static final int DATABASE_ORACLE
        Value of 1. Indicates an Oracle Database.
        See Also:
        Constant Field Values
      • DATABASE_SQL2000

        public static final int DATABASE_SQL2000
        Value of 2. Indicates a SQL2000 Database.
        See Also:
        Constant Field Values
      • DATABASE_DB2

        public static final int DATABASE_DB2
        Value of 3. Indicates a DB2 Database.
        See Also:
        Constant Field Values
      • DATABASE_SQL2000ODBC

        public static final int DATABASE_SQL2000ODBC
        Value of 6. Indicates a SQL2000 ODBC Database.
        See Also:
        Constant Field Values
      • DS_TYPE_SEC

        public static final int DS_TYPE_SEC
        Value of 0. Indicates a Filenet database security type.
        See Also:
        Constant Field Values
      • DS_TYPE_LDAP

        public static final int DS_TYPE_LDAP
        Value of 1. Indicates Lightweight Directory Access Protocol (LDAP) database security type.
        See Also:
        Constant Field Values
      • MILESTONE_QUERY_WORKOBJECT_NUMBER

        public static final int MILESTONE_QUERY_WORKOBJECT_NUMBER
        Value of 0. Indicates a work object number will be used to query a roster for milestones.
        See Also:
        Constant Field Values
      • MILESTONE_QUERY_WORKFLOW_NUMBER

        public static final int MILESTONE_QUERY_WORKFLOW_NUMBER
        Value of 1. Indicates a workflow number will be used to query a roster for milestones.
        See Also:
        Constant Field Values
      • SEARCH_TYPE_NONE

        public static final int SEARCH_TYPE_NONE
        Value of 0. Indicates no pattern matching for a search for a user or group name: a searchPattern parameter is not modified by a searchType parameter.
        See Also:
        Constant Field Values
      • SEARCH_TYPE_CUSTOM

        public static final int SEARCH_TYPE_CUSTOM
        Value of 1. Indicates a search for an exact match to a search pattern argument for a user or group name.
        See Also:
        Constant Field Values
      • SEARCH_TYPE_PREFIX_MATCH

        public static final int SEARCH_TYPE_PREFIX_MATCH
        Value of 2. Indicates a search for a pattern match to a search pattern argument at the beginning of a user or group name.
        See Also:
        Constant Field Values
      • SEARCH_TYPE_SUFFIX_MATCH

        public static final int SEARCH_TYPE_SUFFIX_MATCH
        Value of 3. Indicates a search for a pattern match to a search pattern argument at the end of a user or group name.
        See Also:
        Constant Field Values
      • SEARCH_TYPE_CONTAINS

        public static final int SEARCH_TYPE_CONTAINS
        Value of 4. Indicates a search for a pattern match to a search pattern argument that may appear anywhere within a user or group name.
        See Also:
        Constant Field Values
      • SORT_TYPE_NONE

        public static final int SORT_TYPE_NONE
        Value of 0. Indicates no sorting preference for the list of users or groups returned by a method.
        See Also:
        Constant Field Values
      • SORT_TYPE_ASCENDING

        public static final int SORT_TYPE_ASCENDING
        Value of 1. Indicates the list of users or groups returned by a method will be in ascending order.
        See Also:
        Constant Field Values
      • SORT_TYPE_DESCENDING

        public static final int SORT_TYPE_DESCENDING
        Value of 2. Indicates the list of users or groups returned by a method will be in descending order.
        See Also:
        Constant Field Values
      • RECEIVE_WORKFLOW_SIGNATURES

        public static final int RECEIVE_WORKFLOW_SIGNATURES
        Value of 1. Used to fetch only workflow signatures of workflows that contain a receive instruction in the method fetchMultipleWorkflowSignatures.
        See Also:
        Constant Field Values
      • PRIVILEGES_ADMINISTRATOR

        public static final int PRIVILEGES_ADMINISTRATOR
        Value of 1. Signifies that the user has administrative privileges. Refer to the documentation for information on the SysAdminG group.
        See Also:
        Constant Field Values
      • PRIVILEGES_CONFIGURATION

        public static final int PRIVILEGES_CONFIGURATION
        Value of 2. Signifies that the user can update the system configuration. Refer to the documentation for information on the SysConfigG group.
        See Also:
        Constant Field Values
      • ACCESS_READ_APPLICATIONSPACE

        public static final int ACCESS_READ_APPLICATIONSPACE
        Value of 0. Used to fetch only role names where the current user has Write permission to the application space, or the current user is a participant of any roles in the application space.
        See Also:
        Constant Field Values
      • ACCESS_WRITE_APPLICATIONSPACE

        public static final int ACCESS_WRITE_APPLICATIONSPACE
        Value of 1. Used to fetch only role names, when the current user has Write permission to the application space.
        See Also:
        Constant Field Values
      • ACCESS_IGNORE_APPLICATIONSPACE_SECURITY

        public static final int ACCESS_IGNORE_APPLICATIONSPACE_SECURITY
        Value of 2. Used to fetch all role names of the application space.
        See Also:
        Constant Field Values
      • ACCESS_MY_ROLES_ONLY

        public static final int ACCESS_MY_ROLES_ONLY
        Value of 4. Used to fetch all role names belong to the logon user.
        See Also:
        Constant Field Values
      • APPLICATIONSPACE_ONLY

        public static final int APPLICATIONSPACE_ONLY
        Value of 0. Used to fetch only the application space (without role information).
        See Also:
        Constant Field Values
      • APPLICATIONSPACE_INCLUDING_ROLES

        public static final int APPLICATIONSPACE_INCLUDING_ROLES
        Value of 1. Used to fetch all roles (without their members) and the application space.
        See Also:
        Constant Field Values
      • APPLICATIONSPACE_INCLUDING_ROLE_MEMBERS

        public static final int APPLICATIONSPACE_INCLUDING_ROLE_MEMBERS
        Value of 2. Used to fetch all roles, with their members, and the application space.
        See Also:
        Constant Field Values
      • ROLE_INCLUDE_ATTRIBUTES

        public static final int ROLE_INCLUDE_ATTRIBUTES
        See Also:
        Constant Field Values
      • ROLE_INCLUDE_WORKBASKETS

        public static final int ROLE_INCLUDE_WORKBASKETS
        See Also:
        Constant Field Values
      • LOCK_STATUS_NONE

        public static final int LOCK_STATUS_NONE
        Value of 0. There is no exclusive lock on the isolated region.
        See Also:
        Constant Field Values
      • LOCK_STATUS_TRANSFER

        public static final int LOCK_STATUS_TRANSFER
        Value of 1. The isolated region is locked by a transfer operation.
        See Also:
        Constant Field Values
      • LOCK_STATUS_USER

        public static final int LOCK_STATUS_USER
        Value of 2. The isolated region is locked by a user operation.
        See Also:
        Constant Field Values
    • Constructor Detail

      • VWSession

        public VWSession(java.lang.String url)
                  throws VWException
        Creates a new session in an environment where the Java™ Authentication and Authorization Service (JAAS) context is already established.

        Note: The Content Engine URI must be specified before attempting to establish the session. This can be specified in any of the following ways:

        • Specify the value of the system property filenet.pe.bootstrap.ceuri. For example, you could start the application with the -D JVM parameter, similar to the following:
              -Dfilenet.pe.bootstrap.ceuri=t3://hqruby:7001/FileNet/Engine
        • Call the setBootstrapCEURI method.
        • Call the setBootstrapConfiguration method.
        • Specify the value of the "RemoteServerUrl" property in the WCMApiConfig.properties file located in the application's classpath. The format for this property is:
            RemoteServerUrl=cemp:ContentEngineURI

          Where ContentEngineURI is the URI of the Content Engine (for example, "t3://server:7001/FileNet/Engine").

        Parameters:
        url - The name of the connection point to use.
        Throws:
        VWException
        Since:
        4.0
      • VWSession

        public VWSession(java.lang.String user,
                         java.lang.String password,
                         java.lang.String connectionPointName)
                  throws VWException
        Establishes a new session based on a specified connection point.

        Note: The Content Engine URI must be specified before attempting to establish the session. This can be specified in any of the following ways:

        • Specify the value of the system property filenet.pe.bootstrap.ceuri. For example, you could start the application with the -D JVM parameter, similar to the following:
              -Dfilenet.pe.bootstrap.ceuri=t3://hqruby:7001/FileNet/Engine
        • Call the setBootstrapCEURI method.
        • Call the setBootstrapConfiguration method.
        • Specify the value of the "RemoteServerUrl" property in the WCMApiConfig.properties file located in the application's classpath. The format for this property is:
            RemoteServerUrl=cemp:ContentEngineURI

          Where ContentEngineURI is the URI of the Content Engine (for example, "t3://server:7001/FileNet/Engine").

        If the Content Engine URI is set, and the connection point name specified contains a valid entry, the user is connected to the connection point and logged on to the Process Engine.

        Parameters:
        user - A String containing the name of a user with permissions to log on to the Process Engine.
        password - A String containing the password for the specified user.
        connectionPointName - A String containing the name of the connection point to use for this session.
        Throws:
        VWException - Thrown for various causes, including when the specified user is already logged on to the Process Engine.
      • VWSession

        public VWSession(java.lang.String domain,
                         java.lang.String user,
                         java.lang.String password,
                         java.lang.String connectionPointName)
                  throws VWException
        Establishes a session for a specified domain and connection point.

        Note: The Content Engine URI must be specified before attempting to establish the session. This can be specified in any of the following ways:

        • Specify the value of the system property filenet.pe.bootstrap.ceuri. For example, you could start the application with the -D JVM parameter, similar to the following:
              -Dfilenet.pe.bootstrap.ceuri=t3://hqruby:7001/FileNet/Engine
        • Call the setBootstrapCEURI method.
        • Call the setBootstrapConfiguration method.
        • Specify the value of the "RemoteServerUrl" property in the WCMApiConfig.properties file located in the application's classpath. The format for this property is:
            RemoteServerUrl=cemp:ContentEngineURI

          Where ContentEngineURI is the URI of the Content Engine (for example, "t3://server:7001/FileNet/Engine").

        If the Content Engine URI is set, and the connection point and domain specified contain valid entries, the user is connected to the connection point and logged on to the Process Engine.

        Parameters:
        domain - A String containing the domain name.
        user - A String containing the name of a user with permissions to log on to the Process Engine.
        password - A String containing the password for the specified user.
        connectionPointName - A String containing the name of the connection point to use for this session.
        Throws:
        VWException - Thrown for various causes, including when the specified user is already logged on to the Process Engine.
    • Method Detail

      • logon

        public void logon(java.lang.String user,
                          java.lang.String password,
                          java.lang.String connectionPointName)
                   throws VWException
        Logs onto an existing session.

        Note: The Content Engine URI must be specified before attempting to establish the session. This can be specified in any of the following ways:

        • Specify the value of the system property filenet.pe.bootstrap.ceuri. For example, you could start the application with the -D JVM parameter, similar to the following:
              -Dfilenet.pe.bootstrap.ceuri=t3://hqruby:7001/FileNet/Engine
        • Call the setBootstrapCEURI method.
        • Call the setBootstrapConfiguration method.
        • Specify the value of the "RemoteServerUrl" property in the WCMApiConfig.properties file located in the application's classpath. The format for this property is:
            RemoteServerUrl=cemp:ContentEngineURI

          Where ContentEngineURI is the URI of the Content Engine (for example, "t3://server:7001/FileNet/Engine").

        If the Content Engine URI is set, and the connection point and domain specified contain valid entries, the user is connected to the connection point and logged on to the Process Engine.

        Parameters:
        user - A String containing the name of a user with permissions to log on to the Process Engine.
        password - A String containing the password for the specified user.
        connectionPointName - A String containing the name of the connection point to use for this session.
        Throws:
        VWException - Thrown for various causes, including when the specified user is already logged on to the Process Engine.
      • setParticipatesInTransaction

        public void setParticipatesInTransaction(boolean participatesInTransaction)
        Sets the value of the "participatesInTransaction" attribute of this VWSession. If this value is true, then API calls made that support distributed transactions will participate in any distributed transaction already in effect when the call is made. If this value is false, then calls made that support distributed transactions will begin their own new transaction, and will not participate in an already in effect transaction.

        The default value for this attribute is false.

        Since:
        5.2
      • getParticipatesInTransaction

        public boolean getParticipatesInTransaction()
        See also setParticipatesInTransaction.
        Returns:
        the value of the "participatesInTransaction" attribute of this VWSession.
        Since:
        5.2
      • logon

        public void logon(java.lang.String url)
                   throws VWException
        Logs on to an existing session in an environment where the JAAS context is already established. This method cannot be used when the transport is Web Services (see VWSession.logon(String, String, String).

        Note: The Content Engine URI must be specified before attempting to establish the session. This can be specified in any of the following ways:

        • Specify the value of the system property filenet.pe.bootstrap.ceuri. For example, you could start the application with the -D JVM parameter, similar to the following:
              -Dfilenet.pe.bootstrap.ceuri=t3://hqruby:7001/FileNet/Engine
        • Call the setBootstrapCEURI method.
        • Call the setBootstrapConfiguration method.
        • Specify the value of the "RemoteServerUrl" property in the WCMApiConfig.properties file located in the application's classpath. The format for this property is:
            RemoteServerUrl=cemp:ContentEngineURI

          Where ContentEngineURI is the URI of the Content Engine (for example, "t3://server:7001/FileNet/Engine").

        Parameters:
        url - The name of the connection point to use.
        Throws:
        VWException
        Since:
        4.0
      • logonByDomain

        public void logonByDomain(java.lang.String domain,
                                  java.lang.String user,
                                  java.lang.String password,
                                  java.lang.String connectionPointName)
                           throws VWException
        Logs on to an existing session for a specified domain. This method can be used for either EJB or Web Services transports. You must use this method (rather than VWSession.logon(String)) when the transport is Web Services.

        Note: The Content Engine URI must be specified before attempting to log on to the session. This can be specified in any of the following ways:

        • Specify the value of the system property filenet.pe.bootstrap.ceuri. For example, you could start the application with the -D JVM parameter, similar to the following:
              -Dfilenet.pe.bootstrap.ceuri=t3://hqruby:7001/FileNet/Engine
        • Call the setBootstrapCEURI method.
        • Call the setBootstrapConfiguration method.
        • Specify the value of the "RemoteServerUrl" property in the WCMApiConfig.properties file located in the application's classpath. The format for this property is:
            RemoteServerUrl=cemp:ContentEngineURI

          Where ContentEngineURI is the URI of the Content Engine (for example, "t3://server:7001/FileNet/Engine").

        If the Content Engine URI is set, and the connection point and domain specified contain valid entries, the user is connected to the connection point and logged on to the Process Engine.

        Parameters:
        domain - A String containing the domain name.
        user - A String containing the name of a user with permissions to log on to the Process Engine.
        password - A String containing the password for the specified user.
        connectionPointName - A String containing the name of the connection point to use for this session.
        Throws:
        VWException - Thrown for various causes, including when the specified user is already logged on to the Process Engine.
      • logonWithToken

        public void logonWithToken(java.lang.String theToken,
                                   java.lang.String connectionPointName)
                            throws VWException
        For FileNet Web Services and Open Client only, this method can establish a shared logon session. The VWSession constructors and other logon methods are preferable to this method, because all tokens time out eventually, making them invalid. (Token timeout intervals are set in the following location on the Application Engine host: filenet_installation_dir\Workplace\WEB-INF\bootstrap.properties file.)
        Parameters:
        theToken - A String containing the process token. This cannot be null.
        connectionPointName - The URL of the connection point, specified using the Java™ Remote Method Invocation (RMI) protocol.
        Throws:
        VWException - Thrown for various causes, which can include invalid arguments, such as timed-out and invalid tokens.
        See Also:
        VWSession.getToken()
      • getRoster

        public VWRoster getRoster(java.lang.String rosterName)
                           throws VWException
        Gets the roster object identified by the specified roster name.

        Use the fetchRosterNames method to get a list of roster names.

        In multi-server environments, if the roster is on an additional server that has not been accessed, the first method executed on the roster automatically logs the user on to the additional server. If the additional server was previously accessed during the session, the logon information is shared.

        Parameters:
        rosterName - A String containing the name of the roster. If a translation source exists, the authored name is translated. The roster name is validated using RPC.
        Returns:
        A VWRoster object for the specified roster.
        Throws:
        VWException
      • getQueue

        public VWQueue getQueue(java.lang.String queueName)
                         throws VWException
        Gets the queue object identified by the specified queue name.

        Use the fetchQueueNames method to get a list of queue names.

        In multiserver environments, if the queue is on a server that has not been accessed, the first method call performed on the queue automatically logs the user on to the additional server. If the additional server was previously accessed during the session, the logon information is shared.

        Parameters:
        queueName - A String containing the translated name of the queue. If a translation source exists, the authored name is translated. The queue name is validated using RPC.
        Returns:
        The VWQueue object for the specified queue.
        Throws:
        VWException - Thrown if a specified parameter value is null.
      • isLoggedOn

        public boolean isLoggedOn()
        Checks whether this session is currently logged on or not.

        Returns:
        true if this session is currently logged on, or false if this session is not logged on.
      • logoff

        public void logoff()
                    throws VWException
        Ends the session with the Process Engine and frees all resources.

        When calling this method, keep the following guidelines in mind:

        • Make an explicit call as soon as possible to conserve resources. Although the system calls this method internally, an explicit call makes finalization more immediate and certain. Otherwise, finalization is uncertain even when the Java Virtual Machine (JVM) shuts down.
        • After making this call, all method instances on the session except getCurrentVersion() throw an exception.

        Throws:
        VWException - Thrown if the method cannot end the session with the Process Engine and free all resources.
      • getQueueNames

        public java.lang.String[] getQueueNames(boolean includeSystem)
                                         throws VWException
        Deprecated. Replaced by fetchQueueNames.
        Returns the names of queues within the current isolated region: either all of the work queue names exclusively, or the names of all queues, including the system queue names.
        Parameters:
        includeSystem - Specify true to return names of all system queues; otherwise specify false to return only work queue names.
        Returns:
        A list of queue names.
        Throws:
        VWException - Various causes, which can include communications, server, and connection problems.
      • fetchQueueNames

        public java.lang.String[] fetchQueueNames(int fetchFlag)
                                           throws VWException
        Retrieves the names of queues within the current isolated region and within the scope of the specified queue type or types. If a translation source exists, the authored names are translated.
        Parameters:
        fetchFlag - An integer or integers corresponding to one or more of the following queue type fields:

        Specify multiple queue types using a bitwise OR of the fields. For example:

          // Fetch a list of queue names for process queues and system Queues,
          // whether this user has access privileges to the queues or not:
        
          int myQueueFlags = (QUEUE_PROCESS | QUEUE_SYSTEM |
                              QUEUE_IGNORE_SECURITY);
          String[] QueueNames = null;
          QueueNames = MySession.fetchQueueNames(myQueueFlags);
         
        Returns:
        A String array of the translated queue names, if a translation source exists; otherwise, the authored names are returned.
        Throws:
        VWException - Thrown for various causes, including communications, server, and connection problems.
      • fetchRosterNames

        public java.lang.String[] fetchRosterNames(boolean ignoreSecurity)
                                            throws VWException
        Retrieves a list of the names of all rosters within the isolated region. You can specify whether the returned list includes or excludes rosters that the current user is not authorized to access. If a translation source exists, the authored names are translated.
        Parameters:
        ignoreSecurity - A boolean value of true to return the names of all rosters, including rosters that this user is not authorized to access; false to return only the names of rosters that this user is authorized to access.
        Returns:
        A String array of the translated roster names, if a translation source exists; otherwise, the authored names are returned.
        Throws:
        VWException - Various causes, including communications, server, and connection problems.
      • fetchLaunchableWorkClassNames

        public java.lang.String[] fetchLaunchableWorkClassNames()
                                                         throws VWException
        Retrieves a list of the names of all work classes within the isolated region that can be launched by the current user.

        A work class can be launched by a user if that user has Create permission on the roster associated with the work class.

        If a translation source exists, the authored names are translated.

        Returns:
        A String array of the work class names.
        Throws:
        VWException - Thrown for various causes, including communications, server, and connection problems.
      • fetchWorkClassNames

        public java.lang.String[] fetchWorkClassNames(boolean ignoreSecurity)
                                               throws VWException
        Retrieves a list of the names of all work classes within the isolated region. If a translation source exists, the authored names are translated.
        Parameters:
        ignoreSecurity - This parameter is ignored, set it to true or false.
        Returns:
        A String array of the work class names.
        Throws:
        VWException - Thrown for various causes, including communications, server, and connection problems.
      • fetchWorkClassNames

        public java.lang.String[] fetchWorkClassNames(boolean ignoreSecurity,
                                                      java.lang.String inheritFromWorkClassName)
                                               throws VWException
        Retrieves a list of the names of the work classes within the current isolated region that inherit from the specified work class.
        Parameters:
        ignoreSecurity - This parameter is ignored, set it to true or false.
        inheritFromWorkClassName - A String containing the name of a work class from which the returned work classes inherit. The empty string ("") or null specifies that the names of all work classes within the isolated region are to be returned.
        Returns:
        A String array of the work class names.
        Throws:
        VWException - Thrown for various causes, including communications, server, and connection problems.
      • getCurrentVersion

        public java.lang.String getCurrentVersion()
        Gets the current version of the Process Engine API.
        Returns:
        The current version level of the Process Engine API, as a String object
      • convertUserNameToId

        public int convertUserNameToId(java.lang.String aUserName)
                                throws VWException
        Converts a user name in three-part format (name:domain:organization) to a user ID. This method invokes a call to the Process Engine if there has been no previous server call to get user names. If the system does not find the user name, internally the method performs an additional RPC to retrieve an updated list of user names.
        Parameters:
        aUserName - The user name in a three-part format as follows:

        name:domain:organization

        Returns:
        The user ID
        Throws:
        VWException - Thrown for various causes, which can include:

        • The user lacks administrative authorization to call this method.
        • The system does not find the user name on a server-updated list.
        See Also:
        VWSession.convertIdToUserName(int)
      • convertIdToUserName

        public java.lang.String convertIdToUserName(int aUserId)
                                             throws VWException
        Converts a user ID to a user name. This method invokes a call to the Process Engine if there has been no previous server call to get user names. If the system does not find the user name, internally the method performs an additional RPC to retrieve an updated list of user names.
        Parameters:
        aUserId - The user ID used to retrieve the user name
        Returns:
        The user name associated with the input user ID, or null. Inputting an invalid user Id returns null.
        Throws:
        VWException - Various causes, which can include:

        • The user lacks administrative authorization to call this method.
        • The system does not find the user name on a server-updated list.
        Note: Inputting an invalid user Id returns null and does not throw an exception.
        See Also:
        VWSession.convertUserNameToId(java.lang.String)
      • convertClassNameToId

        public int convertClassNameToId(java.lang.String aClassName,
                                        boolean aQueueClassType)
                                 throws VWException
        Converts a workflow, roster, or queue name to a class ID. If there were no previous calls to the Process Engine to get names, this method makes an RPC call to the Process Engine to get the information. If the method does not find the name in the session's current cache, the method makes another RPC call to retrieve updated name information. If the name is not found in the updated cache, an exception is thrown. This method may not be used to convert dynamic workflow names to IDs. Dynamic workflows names are not unique and thus cannot be converted by this API.
        Parameters:
        aClassName - A String containing the name of the workflow roster or queue to convert. If a translation source exists, the authored name is translated.
        aQueueClassType - Specify true to convert the name of a queue; false to convert the name of a roster or workflow definition.
        Returns:
        An integer for the workflow class ID of the queue, roster, or workflow definition.
        Throws:
        VWException - Various causes, including lack of administrative privileges to call this method.
      • convertIdToClassName

        public java.lang.String convertIdToClassName(int aClassId,
                                                     boolean aQueueClassType)
                                              throws VWException
        Converts a class ID to a roster or queue name. If there was no previous call to the Process Engine to get class IDs, this method makes an RPC call to the Process Engine to retrieve the class ID information. If the the ID cannot be found, the method makes another RPC call to the Process Engine to retrieve an updated list. If the class ID is still not found, the method throws an exception.
        Parameters:
        aClassId - An integer for the class ID of the roster or queue being retrieved.
        aQueueClassType - Specify true to convert the ID of a queue; false to convert the ID of a roster.
        Returns:
        A String containing the translated roster or queue name, if a translation source exists; otherwise, the authored name is returned.
        Throws:
        VWException - Various causes, including lack of administrative privileges to call this method.
      • recoverUser

        public boolean recoverUser(java.lang.String userName,
                                   java.lang.String[] queueNames)
                            throws VWException
        Recovers a user, given a list of queue names like the list produced by fetchQueueNames. Recovery unlocks the user's work items. If the argument for the queueNames parameter is null, all queues are recovered. Administrative authority is required to perform queue recovery for work objects locked by another user.
        Parameters:
        userName - Null or the name of the user you wish to recover. A null value indicates the current user.
        queueNames - A list of the names of the queues to recover. Null is allowed and indicates that all queues are to be recovered, but a null member in a list causes an exception.
        Returns:
        A boolean value of true indicates success; false otherwise.
        Throws:
        VWException - Various causes, which can include system conditions that make a user or queue unavailable to the program, such as the following:
        • The user lacks administrative privilege to recover the user for any queue.
        • A region re-initialization makes a specified queue unavailable.
        • A server is not functioning.
      • fetchEventLog

        public VWLog fetchEventLog(java.lang.String eventLogName)
                            throws VWException
        Retrieves the specified event log.
        Parameters:
        eventLogName - A String containing the event log name. If a translation source exists, the authored name is translated.

        A list of valid event log names can be retrieved with fetchEventLogNames.

        Returns:
        A VWLog object for the specified event log.
        Throws:
        VWException
        Since:
        VWWS3.10
      • fetchEventLogNames

        public java.lang.String[] fetchEventLogNames()
                                              throws VWException
        Returns a list of all event log names. If a translation source exists, the authored event log names are translated.
        Returns:
        A String array containing the translated event log names, if a translation source exists; otherwise, the authored names are returned.
        Throws:
        VWException
        Since:
        VWWS3.10
        See Also:
        fetchEventLog
      • setAuditState

        public void setAuditState(java.lang.String fileName,
                                  java.lang.Integer[] options)
                           throws java.lang.Exception
        Deprecated. Replaced by inserting a copy of the fnlog4j.properties file in the fnsw\java\jre\lib directory. Edit this file to view or change logging properties.

        For detail information on the components of the fnlog4j.properties file, see the documentation on the members of the java.util.logging class.

        For compatibility with earlier Image Manager (formerly Panagon 4.2 and earlier) versions only, this method establishes an API audit trail as a log file. Note that this method will not create the specified output file in more recent Image Manager (formerly Panagon) versions.
        Parameters:
        fileName - The full path name of the file to which the audit will log the information; specify null to disable logging.
        options - An integer value used to specify audit logging options, containing values as shown below:

        • 0: Turn logging off
        • 1: Turn logging on (logs all events)

        Throws:
        java.lang.Exception
      • toString

        public java.lang.String toString()
        Gets the connection point name and isolated region, formatted as follows:
           <:host name>:<port>/<router name><space><integer>
        Overrides:
        toString in class java.lang.Object
        Returns:
        A String containing the connection point name and isolated region.
      • getRouterURL

        public java.lang.String getRouterURL()
        Gets the connection point name, formatted as follows:
           <:host name>:<port>/<router name>
        Returns:
        A String containing the connection point name.
      • getConnectionPointName

        public java.lang.String getConnectionPointName()
                                                throws VWException
        Gets the name of the connection point used for this session.
        Returns:
        A String containing the name of the connection point for this session.
        Throws:
        VWException
        Since:
        P8 4.0
      • fetchSystemAdministration

        public VWSystemAdministration fetchSystemAdministration()
                                                         throws VWException
        Gets system administration information for the Process Engine.
        Returns:
        A VWSystemAdministration object that contains the administration information for the Process Engine.
        Throws:
        VWException - Thrown if the method cannot get system administration information for the Process Enginesystem.
        Since:
        VWWS3.10
      • fetchSystemConfiguration

        public VWSystemConfiguration fetchSystemConfiguration()
                                                       throws VWException
        Gets system configuration information for a system. Configuration includes information about queues, rosters, and logs and values of instructions, operations, and logging output.
        Returns:
        A VWSystemConfiguration object that contains the configuration information for the isolated region.
        Throws:
        VWException - Thrown if the method cannot get system configuration information for a system.
        Since:
        VWWS3.10
      • createMailSession

        public javax.mail.Session createMailSession()
                                             throws VWException
        Deprecated. Post 5.5.2 release, we will not package JavaMail libs in pe3pt.jar to support this method. It is up to CPE client application, if sending mail directly via the returned object, to supply JavaMail runtime libs.
        Creates a java mail session based on the email notification configuration information specified for a workflow system.
        Returns:
        A java mail Session object.
        Throws:
        VWException
        Since:
        VWWS3.10
      • fetchUserInfo

        public VWUserInfo fetchUserInfo(java.lang.String theName)
                                 throws VWException
        Gets general user information about a specified user.
        Parameters:
        theName - Name of the user for whom you wish to retrieve information.
        Returns:
        A VWUserInfo object containing information for the user specified in the theName parameter
        Throws:
        VWException - Thrown for various causes,including a null or empty String as input.
        Since:
        VWWS3.10
      • fetchFileFromServer

        public java.lang.String fetchFileFromServer(java.lang.String theFileName,
                                                    int theFileType)
                                             throws VWException
        Gets a file for the Process Engine server.
        Parameters:
        theFileName - The path needed to locate the file on the Process Engine server. This should be specified as a relative path. The Process Engine server will use the value of theFileType to determine the absolute path.
        theFileType - The type of file to retrieve. This must be one of the following:
        • SERVER_FILE_TRANSFORM indicates a transform file.
        • SERVER_FILE_SCHEMA indicates a schema file.
        Returns:
        The contents of the specified server file.
        Throws:
        VWException - Thrown for various causes,including a null, empty, or otherwise invalid value for theFileName.
        Since:
        VWWS3.10
        See Also:
        VWSession.SERVER_FILE_TRANSFORM, VWSession.SERVER_FILE_SCHEMA
      • fetchUserInfoList

        public VWUserInfo[] fetchUserInfoList(java.lang.String[] theNameList)
                                       throws VWException
        Gets general user information about specified users.
        Parameters:
        theNameList - Users for whom information will be retrieved; cannot be null
        Returns:
        Array of VWUserInfo objects containing information for the users specified in the theNameList parameter
        Throws:
        VWException - Thrown for various causes, including when the input theNameList argument is null.
        Since:
        VWWS3.10
      • fetchUserGroups

        public VWSecurityList fetchUserGroups(int maxBufferSize)
                                       throws VWException
        Gets group names for the Process Engine. Note: if the database security type is not DS_TYPE_SEC this method may take a long time to return. Especially if multiple domains are being used.
        Parameters:
        maxBufferSize - An integer value specifying the maximum number of elements to return in a fetch. Specify a value with greater than 0 (zero), or use 0 (zero) or a negative value to specify the default buffersize, which is 200.
        Returns:
        A VWSecurityList object that can be used to retrieve group names for the Process Engine.
        Throws:
        VWException
        Since:
        VWWS3.10
      • findUsers

        public VWSecurityList findUsers(java.lang.String searchPattern,
                                        int searchType,
                                        int sortType,
                                        int maxBufferSize)
                                 throws VWException
        Fetches a collection of all user names defined within the default LDAP domain, matching them for inclusion in the result collection according to this method's search pattern and search type arguments.
        Parameters:
        searchPattern - Comparison string, used to determine if a display name matches. Comparison is performed according to the method specified by the searchType parameter. Null is allowable for a searchType of SEARCH_TYPE_NONE.

        searchType - Specifies the way the comparison search pattern (see the searchPattern parameters) String is used. Specified values are as follows:

        • 0: SEARCH_TYPE_NONE — Matches all user display names and ignores the searchPattern string. May cause performance degradation for large databases.
        • 1: SEARCH_TYPE_CUSTOM — Matches when the search pattern is an exact match.
        • 2: SEARCH_TYPE_PREFIX_MATCH — Matches when the search pattern has an exact match at the beginning of the display name.
        • 3: SEARCH_TYPE_SUFFIX_MATCH — Matches when the search pattern has an exact match at the end of the display name.
        • 4: SEARCH_TYPE_CONTAINS — Matches when the search pattern has an exact match anywhere within the display name.

        sortType - Specifies the type of sorting the security database server performs on the returned set of records, as follows:

        • 0: SORT_TYPE_NONE — No sort.
          Caution: For large security databases, use of SORT_TYPE_NONE may cause performance degradation and erroneous results. The buffer size setting will be the maximum number of records that can be returned by the method call, and the actual number of records returned will be the lesser of the input buffer size and the directory server size limit.
        • 1: SORT_TYPE_ASCENDING — Ascending sort.
        • 2: SORT_TYPE_DESCENDING — Descending sort.

        Note If sorting fails on the security database server, an error will be thrown and no results will be returned.

        maxBufferSize - An integer value specifying the maximum number of elements to return in a fetch. Specify a value with greater than 0 (zero), or use 0 (zero) or a negative value to specify the default buffersize, which is 200.
        Returns:
        VWSecurityList object containing a collection of names that match to the input search pattern searchPattern, using the comparison method specified by the searchType, sorted according to sortType, within the default LDAP domain.
        Throws:
        VWException - Thrown for various causes, including if the database security type is not DS_TYPE_LDAP (indicating an LDAP database), or if the database is not correctly configured to complete the sorting that the method call requires.
        See Also:
        VWSecurityList
      • findGroups

        public VWSecurityList findGroups(java.lang.String searchPattern,
                                         int searchType,
                                         int sortType,
                                         int maxBufferSize)
                                  throws VWException
        Fetches a collection of all group names defined within the default LDAP domain, matching them for inclusion in the result collection according to this method's search pattern and search type arguments.
        Parameters:
        searchPattern - Comparison string, used to determine if a name matches. Comparison is performed according to the method specified by the searchType parameter. Null is allowable for a searchType of SEARCH_TYPE_NONE.

        searchType - Specifies the way the comparison search pattern (see the searchPattern parameters) String is used. Specified values are as follows:

        • 0: SEARCH_TYPE_NONE — Matches all names and ignores the searchPattern string. May cause performance degradation for large databases.
        • 1: SEARCH_TYPE_CUSTOM — Matches when the search pattern is an exact match.
        • 2: SEARCH_TYPE_PREFIX_MATCH — Matches when the search pattern has an exact match at the beginning of the name.
        • 3: SEARCH_TYPE_SUFFIX_MATCH — Matches when the search pattern has an exact match at the end of the name.
        • 4: SEARCH_TYPE_CONTAINS — Matches when the search pattern has an exact match anywhere within the name.

        sortType - Specifies the type of sorting the security database server performs on the returned set of records, as follows:

        • 0: SORT_TYPE_NONE — No sort.
          Caution: For large security databases, use of SORT_TYPE_NONE may cause performance degradation and erroneous results. The buffer size setting will be the maximum number of records that can be returned by the method call, and the actual number of records returned will be the lesser of the input buffer size and the directory server size limit.
        • 1: SORT_TYPE_ASCENDING — Ascending sort.
        • 2: SORT_TYPE_DESCENDING — Descending sort.

        Note If sorting fails on the security database server, an error will be thrown and no results will be returned.

        maxBufferSize - An integer value specifying the maximum number of elements to return in a fetch. Specify a value with greater than 0 (zero), or use 0 (zero) or a negative value to specify the default buffersize, which is 200.
        Returns:
        VWSecurityList object containing a collection of names that match to the input search pattern searchPattern, using the comparison method specified by the searchType, sorted according to sortType, within the default LDAP domain.
        Throws:
        VWException - Thrown for various causes, including if the database security type is not DS_TYPE_LDAP (indicating an LDAP database), or if the database is not correctly configured to complete the sorting that the method call requires.
        See Also:
        VWSecurityList
      • findUsersByDomain

        public VWParticipantList findUsersByDomain(java.lang.String secDomainName,
                                                   java.lang.String searchPattern,
                                                   int searchType,
                                                   int sortType,
                                                   int maxBufferSize)
                                            throws VWException
        Fetches a collection of all user names defined within the specified LDAP security domain, matching them for inclusion in the result collection according to this method's search pattern and search type arguments.
        Parameters:
        secDomainName - Name of the specified security domain

        searchPattern - Comparison string, used to determine if the display format of a name matches. Comparison is performed according to the method specified by the searchType parameter. Null is allowable for a searchType of SEARCH_TYPE_NONE.

        searchType - Specifies the way the comparison search pattern (see the searchPattern parameters) String is used. Specified values are as follows:

        • 0: SEARCH_TYPE_NONE — Matches all display names and ignores the searchPattern string. May cause performance degradation for large databases.
        • 1: SEARCH_TYPE_CUSTOM — Matches when the search pattern is an exact match.
        • 2: SEARCH_TYPE_PREFIX_MATCH — Matches when the search pattern has an exact match at the beginning of the display name.
        • 3: SEARCH_TYPE_SUFFIX_MATCH — Matches when the search pattern has an exact match at the end of the display name.
        • 4: SEARCH_TYPE_CONTAINS — Matches when the search pattern has an exact match anywhere within the display name.

        sortType - Specifies the type of sorting the security database server performs on the returned set of records, as follows:

        • 0: SORT_TYPE_NONE — No sort.
          Caution: For large security databases, use of SORT_TYPE_NONE may cause performance degradation and erroneous results. The buffer size setting will be the maximum number of records that can be returned by the method call, and the actual number of records returned will be the lesser of the input buffer size and the directory server size limit.
        • 1: SORT_TYPE_ASCENDING — Ascending sort.
        • 2: SORT_TYPE_DESCENDING — Descending sort.

        Note If sorting fails on the security database server, an error will be thrown and no results will be returned.

        maxBufferSize - An integer value specifying the maximum number of elements to return in a fetch. Specify a value with greater than 0 (zero), or use 0 (zero) or a negative value to specify the default buffersize, which is 200.
        Returns:
        VWParticipantList object containing a collection of names that match to the input search pattern searchPattern, using the comparison method specified by the searchType, sorted according to sortType, within the default LDAP domain.
        Throws:
        VWException - Thrown for various causes, including if the database security type is not DS_TYPE_LDAP (indicating an LDAP database), or if the database is not correctly configured to complete the sorting that the method call requires.
        See Also:
        VWParticipantList
      • findGroupsByDomain

        public VWParticipantList findGroupsByDomain(java.lang.String secDomainName,
                                                    java.lang.String searchPattern,
                                                    int searchType,
                                                    int sortType,
                                                    int maxBufferSize)
                                             throws VWException
        Fetches a collection of all group names defined within the specified LDAP security domain, matching them for inclusion in the result collection according to this method's search pattern and search type arguments.
        Parameters:
        secDomainName - Name of the specified security domain
        searchPattern - Comparison string, used to determine if the display format of a name matches. Comparison is performed according to the method specified by the searchType parameter. Null is allowable for a searchType of SEARCH_TYPE_NONE.

        searchType - Specifies the way the comparison search pattern (see the searchPattern parameters) String is used. Specified values are as follows:

        • 0: SEARCH_TYPE_NONE — Matches all names and ignores the searchPattern string. May cause performance degradation for large databases.
        • 1: SEARCH_TYPE_CUSTOM — Matches when the search pattern is an exact match.
        • 2: SEARCH_TYPE_PREFIX_MATCH — Matches when the search pattern has an exact match at the beginning of the name.
        • 3: SEARCH_TYPE_SUFFIX_MATCH — Matches when the search pattern has an exact match at the end of the name.
        • 4: SEARCH_TYPE_CONTAINS — Matches when the search pattern has an exact match anywhere within the name.

        sortType - Specifies the type of sorting the security database server performs on the returned set of records, as follows:

        • 0: SORT_TYPE_NONE — No sort.
          Caution: For large security databases, use of SORT_TYPE_NONE may cause performance degradation and erroneous results. The buffer size setting will be the maximum number of records that can be returned by the method call, and the actual number of records returned will be the lesser of the input buffer size and the directory server size limit.
        • 1: SORT_TYPE_ASCENDING — Ascending sort.
        • 2: SORT_TYPE_DESCENDING — Descending sort.

        Note If sorting fails on the security database server, an error will be thrown and no results will be returned.

        maxBufferSize - An integer value specifying the maximum number of elements to return in a fetch. Specify a value with greater than 0 (zero), or use 0 (zero) or a negative value to specify the default buffersize, which is 200.
        Returns:
        VWParticipantList object containing a collection of names that match to the input search pattern searchPattern, using the comparison method specified by the searchType, sorted according to sortType, within the default LDAP domain.
        Throws:
        VWException - Thrown for various causes, including if the database security type is not DS_TYPE_LDAP (indicating an LDAP database), or if the database is not correctly configured to complete the sorting that the method call requires.
        See Also:
        VWParticipantList
      • getPEServerName

        public java.lang.String getPEServerName()
                                         throws VWException
        Gets the Network Clearing House (NCH) domain name for the Process Engine server.
        Returns:
        A String containing the NCH domain name for the server.
        Throws:
        VWException
        Since:
        P8 3.5.1
      • getDatabaseType

        public int getDatabaseType()
                            throws VWException
        Gets the database configuration type for the workflow database.
        Returns:
        An integer associated with the database configuration type.
        Throws:
        VWException - Various causes, which can include an isolated region that has not been initialized.
      • fetchCurrentUserInfo

        public VWUserInfo fetchCurrentUserInfo()
                                        throws VWException
        Gets information about the user logged on to this session.
        Returns:
        A VWUserInfo object containing information about the current user.
        Throws:
        VWException
        Since:
        VWWS3.10
      • transfer

        public VWTransferResult transfer(VWWorkflowDefinition theWorkflow,
                                         java.lang.String theWFDocKey,
                                         boolean theLinked,
                                         boolean theMakeNewWorkSpace)
                                  throws VWException
        Transfers the workflow definition object, saving it on the Process Engine.The work class name saved on the Process Engine will be the name that is returned by the VWWorkflowDefinition.getName() method of of the input workflow definition.
        Parameters:
        theWorkflow - A workflow definition object.

        theWFDocKey - The document identifier. Normally, this would be a unique Content Engine or Content Services document identifier; however, the String may be null, or it may be an arbitrary String if the application does not require the work class to be mapped back to a document repository.

        If this parameter value is non-null it will be stored in the transferred work class as a String field named F_SourceDoc, You can use this F_SourceDoc field to retrieve the document containing the VWWorkflow definition for the work class.

        theLinked - A boolean control value: true indicates there is a link from a document in a library or object store to the transferring workflow; false indicates there is no such link. Use this flag to ensure that the Process Engine does not remove a workspace that is needed by Content Services or the Content Engine for a document link, which can occur when the Process Engine cleans up unused Process Engine workspaces.

        theMakeNewWorkSpace - A boolean control value: true transfers the workflow definition to a new workspace on the Process Engine; false transfers the workflow definition to the current workspace on the Process Engine.
        Returns:
        A VWTransferResult object that contains information about the status and the version of the transfer.
        Throws:
        VWException
        Since:
        VWWS3.10
        See Also:
        VWTransferResult, VWWorkflowDefinition
      • transferWFCollection

        public VWTransferResult transferWFCollection(VWWorkflowCollectionDefinition theWorkflowColl,
                                                     java.lang.String theWFDocKey,
                                                     boolean theLinked,
                                                     boolean theMakeNewWorkSpace)
                                              throws VWException
        Transfers a workflow definition collection object, saving it on the Process Engine.The work class names saved on the Process Engine will be the name that is returned by the VWWorkflowDefinition.getName() method for each individual workflow definition in the workflow collection parameter.
        Parameters:
        theWorkflowColl - A workflow collection definition object.

        theWFDocKey - The document identifier. Normally, this would be a unique Content Engine or Content Services document identifier; however, the String may be null, or it may be an arbitrary String if the application does not require the work class to be mapped back to a document repository.

        If this parameter value is non-null it will be stored in the transferred work class as a String field named F_SourceDoc, You can use this F_SourceDoc field to retrieve the document containing the VWWorkflow definition for the work class.

        theLinked - A boolean control value: true indicates there is a link from a document in a library or object store to the transferring workflow; false indicates there is no such link. Use this flag to ensure that the Process Engine does not remove a workspace that is needed by Content Services or the Content Engine for a document link, which can occur when the Process Engine cleans up unused Process Engine workspaces.

        theMakeNewWorkSpace - A boolean control value: true transfers the workflow definition to a new workspace on the Process Engine; false transfers the workflow definition to the current workspace on the Process Engine.
        Returns:
        A VWTransferResult object that contains information about the status and the version of the transfer.
        Throws:
        VWException
        Since:
        VWWS3.10
        See Also:
        VWTransferResult, VWWorkflowDefinition, VWWorkflowCollectionDefinition
      • fetchDynamicWorkflowDefinitions

        public VWWorkflowResults fetchDynamicWorkflowDefinitions(boolean greaterThan,
                                                                 java.lang.String workflowName,
                                                                 int workspaceId,
                                                                 int count)
                                                          throws VWException
        Fetches dynamic workflow definitions. This method returns up to 'count' dynamic workflow definitions, ordered by the concatenation of workflowName+"."+workspaceId. To fetch all workflow definitions, pass in 'greaterThan' as true, and start by calling this routine with workflowName and workspaceId equal to an empty string and -1. Then on each subsequent call pass in a name and workspace id of the last workflow definition previously returned. To fetch all workflow definitions for a specific name, pass in 'greaterThan' as false, and pass in the workflow name desired, and the workspaceId parameter is ignored.
        Parameters:
        greaterThan - true indicates get definitions with workflow name/workspace id greater than the passed in workflowName & workspaceId, false indicates values equal to the given workflowName.
        workflowName - workflow name
        workspaceId - workspace id (see VWWorkflowDefinition.getRuntimeId().getWorkSpaceId())
        count - number of workflow definitions to return. Fewer than this number may be returned if the workflow definitions are large.
        Returns:
        array of workflow definitions
        Throws:
        VWException
      • isRegionInitialized

        public boolean isRegionInitialized()
                                    throws java.lang.Exception
        Indicates whether the isolated region has been initialized.
        Returns:
        true indicates that the isolated region has been initialized; false indicates otherwise.
        Throws:
        java.lang.Exception
      • createWorkflow

        public VWStepElement createWorkflow(java.lang.String workflowIdentifier)
                                     throws VWException
        Launches a workflow defined by a transferred workflow definition, as specified by the workflow version or the workflow definition name (work class name).

        Supports distributed transactions

        Parameters:
        workflowIdentifier - The workflow definition name (work class name) as returned by VWWorkflowDefinition.getName method, or the workflow version (version property) as returned by VWTransferResult.getVersion. You can get a VWTransferResult object using the transfer method.

        If a translation source exists, the authored work class name is translated.

        Returns:
        A VWStepElement object that represents the launch step for the workflow. The workflow will be launched after the launch step has been dispatched with VWStepElement.doDispatch.
        Throws:
        VWException - This method throws an exception under the following conditions:
        • The version specified for the workflowIdentifier parameter is not in a valid format.
        • The version specified for the workflowIdentifier parameter does not apply to this instance's router connection, or does not exist.
        • The work class name specified for the workflowIdentifier is incorrect.
        • The workflow definition specified by the workflowIdentifier parameter does not exist on the Process Engine.
        • The VWTransferResult object is no longer valid, due to a region initialization.
        • There are network problems when attempting to connect to the Process Engine.
      • isMemberOfGroup

        public boolean isMemberOfGroup(java.lang.String groupName)
                                throws VWException
        Determines whether or not the logged on user is a member of a specific group. Note:
        Members of the Administrative group are considered to be members of every group.
        Parameters:
        groupName - The group name against which to check user membership
        Returns:
        true if the user is a member of the group specified in the groupName parameter; false, otherwise.
        Throws:
        VWException - Thrown for various causes. One possible cause is if the group name specified in the groupName parameter is not found.
      • fetchIsGroup

        public boolean[] fetchIsGroup(java.lang.String[] names)
                               throws VWException
        Indicates whether or not the members of a list of names are names of groups.
        Parameters:
        names - List of group names to be tested as group names.
        Returns:
        For each name: true if the name is the name of a group, false, otherwise.
        Throws:
        VWException
      • getToken

        public java.lang.String getToken()
                                  throws VWException
        Gets a token from the user logon, which a shared logon may use. A logon token can only be returned if this session is connected to a router located on a Process Engine's server.
        Returns:
        The token associated with the session logon used by the user.
        Throws:
        VWException - Thrown for various causes. Some possible causes could be Content Services or Content Engine processing errors.
      • fetchLaunchStepProcessor

        public VWStepProcessorInfo fetchLaunchStepProcessor(java.lang.String workflowIdentifier)
                                                     throws VWException
        Retrieves the launch step processor information, based on the specified workflow version (obtained from a VWTransferResult object).

        Note: The translation is done only at runtime, so will not appear in design-time applications (such as the Process Designer or Configuration Console).

        Parameters:
        workflowIdentifier - A String containing the workflow version obtained by calling VWTransferResult.getVersion. You can get a VWTransferResult object using the transfer method.

        If a translation source exists, the authored work class name is translated.

        Returns:
        A VWStepProcessorInfo object containing the launch step processor information.
        Throws:
        VWException
        Since:
        VWWS3.10
        See Also:
        transfer, VWTransferResult
      • fetchStepProcessorInfo

        public VWStepProcessorInfo fetchStepProcessorInfo(java.lang.String processorIdentifier)
                                                   throws VWException
        Returns a step processor object defined for the current session and workflow definition, given the step processor ID.
        Parameters:
        processorIdentifier - The step processor ID, as a unique integer in String format
        Returns:
        The VWStepProcessorInfo object specified by the step processor ID
        Throws:
        VWException - Thrown for various causes,including a null or empty String as input
        Since:
        VWWS3.10
        See Also:
        VWStepProcessorInfo
      • checkWorkflowIdentifier

        public boolean checkWorkflowIdentifier(java.lang.String workflowIdentifier)
                                        throws VWException
        Indicates whether or not a workflow is on the Process Engine, based on the specified workflow version ID.
        Parameters:
        workflowIdentifier - The workflow version (version property) as returned by VWTransferResult.getVersion. You can get a VWTransferResult object using the transfer method.
        Returns:
        A boolean value of true if a workflow with the ID specified in the workflowIdentifier parameter exists on the Process Engine; false otherwise.
        Throws:
        VWException - Various causes, which can includes passing in a work class workflowIdentifier rather than a workflow version ID.
        See Also:
        VWTransferResult, VWSession.transfer(VWWorkflowDefinition, String, boolean, boolean)
      • getIsolatedRegion

        public int getIsolatedRegion()
                              throws VWException
        Gets an integer that specifies the isolated region for the current session.
        Returns:
        An integer that specifies the isolated region for the current session.
        Throws:
        VWException
      • setProductId

        public void setProductId(int theProductId)
                          throws VWException
        Sets the product ID for a logged-on session; needs to be set before an isolated region initialization or initial transfer to a region. The product ID enables the Process Engine system to function according to product-specific configurations, for example, retrieving appropriate sample step processors for a given product. The current default for a given isolated region is PRODUCT_PW, for Panagon.
        Parameters:
        theProductId - An integer that specifies the product id for the session. For example, Process Engine requires this to be set to PRODUCT_BPS (integer value 2).
        Throws:
        VWException - This method can throw exceptions. Causes include an invalid product ID.
      • setDefaultWebApplication

        public void setDefaultWebApplication(int theWebApplicationId)
                                      throws VWException
        Sets the default Web Application ID for a logged-on session; the default web application is applied to an initial transfer to a region.

        The Web Application ID enables the workflow system to use web application-specific program implementations. For example, to access the appropriate locations for sample step processors, which can depend on the specific web application.
        Note: The current default for a given isolated region is WEBAPP_NONE.

        Parameters:
        theWebApplicationId - An integer that specifies the Web Application ID for the session. For example, a WorkPlace web application is set to WEBAPP_WORKPLACE (integer value 1). IDs in the range of 0 to 99 are reserved for FileNet use. IDs 100-999 are available to customers.
        Throws:
        VWException - Various causes, which can include an invalid product ID.
        See Also:
        VWSession.getDefaultWebApplication()
      • getDefaultWebApplication

        public int getDefaultWebApplication()
                                     throws VWException
        Gets the default Web Application ID for a logged-on session; the default web application is applied to an initial transfer to a region.

        The Web Application ID enables the workflow system to use web application-specific program implementations. For example, to access the appropriate locations for sample step processors, which can depend on the specific web application.
        Note: The current default for a given isolated region is WEBAPP_NONE.

        Returns:
        An integer that specifies the Web Application ID for the session. For example, a WorkPlace web application is set to WEBAPP_WORKPLACE (integer value 1). IDs 4-99 are reserved for FileNet use. IDs 100-999 are available to customers.
        Throws:
        VWException - Various causes, which can include an invalid product ID.
        See Also:
        VWSession.setDefaultWebApplication(int)
      • fetchProcess

        public VWProcess fetchProcess(int workSpaceId,
                                      int workClassId,
                                      java.lang.String workflowNumber)
                               throws VWException
        Returns the workflow process containing this work object.
        Parameters:
        workSpaceId - An integer value that is the workSpaceId associated with the process
        workClassId - An integer value that is the workClassId associated with the process
        workflowNumber - A String representation of the workflowNumber associated with the process
        Returns:
        A VWProcess object that represents the workflow process containing this work object.
        Throws:
        VWException - Thrown if the method cannot retrieve the workflow process containing this work object.
        Since:
        VWWS4.20
      • fetchProcess

        public VWProcess fetchProcess(java.lang.String rosterName,
                                      java.lang.String workflowNumber)
                               throws VWException
        Returns the workflow process for the specified workflow number.
        Parameters:
        rosterName - A String containing the name of a roster having one or more work objects belonging to a workflow process that is specified in the workflowNumber parameter. If a translation source exists, the authored roster name is translated.

        workflowNumber - A String representation of the workflowNumber associated with the process
        Returns:
        A VWProcess object that represents the workflow process.
        Throws:
        VWException - Thrown if the method cannot retrieve the workflow process.
        Since:
        PE 5.0.0.4
      • createLiveWorkObject

        public VWCreateLiveWOResult[] createLiveWorkObject(java.lang.String[] fieldNames,
                                                           java.lang.Object[] fieldValues,
                                                           java.lang.String workflowIdentifier,
                                                           int numberToCreate)
                                                    throws VWException
        Creates (initializes, saves, and dispatches) work items from a transferred workflow definition, specified by its workflow identifier. Multiple work classes on one roster are supported.

        The source workflow definition must exist on the Process Engine. This implies that the VWServiceName and isolated region for this identifier match those of the current VWSession object. This can be verified by using a workflow version ID (rather than a work class name) for the workflow identifier and validating (checkWorkflowIdentifier) the workflow version ID before you call this method.

        Supports distributed transactions

        Parameters:
        fieldNames - A String array containing the names of the fields to update in the new work items, in the same order that the values for those fields are supplied in the fieldValues parameter.
        fieldValues - An array of Objects whose values are supplied, in order, to the fields named in the fieldNames parameter.
        workflowIdentifier - The workflow definition name (work class name) as returned by VWWorkflowDefinition.getName method, or the workflow version (version property) as returned by VWTransferResult.getVersion. You can get a VWTransferResult object using the transfer method.

        If a translation source exists, the authored work class name is translated.

        numberToCreate - An integer for the number of work items to create.
        Returns:
        An array of VWCreateLiveWOResult objects containing the F_WobNum and RosterNames for the new work items, allowing convenient access to the new items.
        Throws:
        VWException - Various causes, included passing in a workflow identifier that is not associated with any workflow.
        See Also:
        VWTransferResult, transfer
      • fetchWorkflowSignature

        public VWWorkflowSignature fetchWorkflowSignature(java.lang.String workflowIdentifier)
                                                   throws VWException
        Retrieves the workflow signature, based on the specified work class name or workflow version.
        Parameters:
        workflowIdentifier - The workflow definition name (work class name) as returned by VWWorkflowDefinition.getName method, or the workflow version (version property) as returned by VWTransferResult.getVersion. You can get a VWTransferResult object using the transfer method.

        If a translation source exists, the authored work class name is translated.

        Returns:
        A VWWorkflowSignature object for the specified workflow.
        Throws:
        VWException - Various causes, which can include a null workflowIdentifier value.
        Since:
        PWWS 4.2
      • fetchMultipleWorkflowSignatures

        public VWWorkflowSignature[] fetchMultipleWorkflowSignatures(int flags)
                                                              throws VWException
        Returns an array of workflow signatures.
        Parameters:
        flags - Either VWSession.ALL_WORKFLOW_SIGNATURES or VWSession.RECEIVE_WORKFLOW_SIGNATURES. If ALL_WORKFLOW_SIGNATURES is specified, the signatures of all workflows in the current region on the Process Engine server are returned. If RECEIVE_WORKFLOW_SIGNATURES is specified, the signatures of all workflows that contain receive instructions are returned.
        Returns:
        An array of VWWorkflowSignature objects for the signatures returned.
        Throws:
        VWException - Thrown when a specified flag is invalid.
        See Also:
        VWSession.ALL_WORKFLOW_SIGNATURES, VWSession.RECEIVE_WORKFLOW_SIGNATURES
      • fetchWorkflowDefinition

        public VWWorkflowDefinition fetchWorkflowDefinition(int workSpaceId,
                                                            java.lang.String workflowIdentifier)
                                                     throws VWException
        Deprecated. Replaced by VWSession.fetchWorkflowDefinition(int,String, boolean) which can handle a workflow definition that references a work class from a previous version of Process that was known as Panagon Visual WorkFlo. It also can represent a workflow definition that explicitly incorporates default terminate or malfunction maps.
        Fetches a workflow definition, given the workspace ID and the work class name or the version String.
        Parameters:
        workSpaceId - The ID of the workspace from which to fetch the workflow definition, or -1 for the current workspace.
        workflowIdentifier - The workflow definition name (work class name or the Process version String obtained from a VWTransferResult object). If the workflowIdentifier is a version String then the workSpaceId parameter is ignored, and the workspace ID from the version String is used.
        Returns:
        A VWWorkflowDefinition object
        Throws:
        VWException - Thrown if this method cannot fetch a workflow definition String
        See Also:
        VWTransferResult, VWSession.transfer(VWWorkflowDefinition, String, boolean, boolean)
      • fetchWorkflowDefinition

        public VWWorkflowDefinition fetchWorkflowDefinition(int workSpaceId,
                                                            java.lang.String workflowIdentifier,
                                                            boolean convert)
                                                     throws VWException
        Fetches a workflow definition, based on the specified workspace ID and the work class name or the workflow version.
        Parameters:
        workSpaceId - An integer for the ID of the workspace from which to fetch the workflow definition. Specify "-1" to use the current workspace.

        Note: This value is ignored if the value of the workflowIdentifier parameter is a workflow version.

        workflowIdentifier - The workflow definition name (work class name) as returned by VWWorkflowDefinition.getName method, or the workflow version (version property) as returned by VWTransferResult.getVersion. You can get a VWTransferResult object using the transfer method. If fetching a dynamic workflow, the workflowIdentifier is not needed and may be empty, since there is only one workflow definition in a workspace.

        If a translation source exists, the authored work class name is translated.

        convert - A boolean value of true indicates that the fetched workflow definition should be converted, so that the workflow definition is correct and complete in the following situations:
        • The workflow definition references a work class from a former version of Process called Panagon Visual WorkFlow.
        • The workflow definition was defined with a default terminate or malfunction map and the fetched workflow definition should include such a map.

        A value of false indicates that the returned workflow definition is to be in the same form in which it was transferred to the Process Engine.

        Conversion is not necessary if the returned workflow definition does not need to include inherited (not explicitly defined) terminate or malfunction maps, and the referenced work class has not been transferred from a previous version of the Process Engine called Panagon Visual WorkFlow.

        Returns:
        The VWWorkflowDefinition object for the specified workflow.
        Throws:
        VWException - Thrown for various causes, including when a specified parameter value is invalid.
        See Also:
        VWTransferResult
      • getServerName

        public java.lang.String getServerName()
                                       throws VWException
        Returns the name of the Process Engine's server for the current session.
        Returns:
        The current server name for the Process Engine.
        Throws:
        VWException
      • getDefaultSecurityDomain

        public VWSecurityDomain getDefaultSecurityDomain()
                                                  throws VWException
        Deprecated. P8 PE BPM 4.0 does not support the concept of "default security domain."
        PE uses the CE for directory services. The concept of a default security domain does not exist on the 4.0 CE.
        Returns:
        an empty string.
        Throws:
        VWException
      • checkSystemWideFlagSetting

        public boolean checkSystemWideFlagSetting(int flagOptions)
                                           throws VWException
        Checks the system wide flag settings given the VWSystemAdministration System wide flag option.
        Parameters:
        flagOptions -
        Returns:
        true if the option is enabled; otherwise, false.
        Throws:
        VWException - Various causes, which can include an invalid product ID.
        See Also:
        VWSystemAdministration
      • createAttachmentTrackingQuery

        public VWAttachmentTrackingQuery createAttachmentTrackingQuery(VWAttachment anAttachment)
                                                                throws VWException
        Creates a VWAttachmentTrackingQuery object that describes which running/active workflows are currently referencing a particular attachment. If a translation source exists, the authored work class information is translated.
        Parameters:
        anAttachment - The VWAttachment object for the attachment to be checked; null is accepted.

        The attachment tracking system configuration option must be enabled for the current isolated region.

        Returns:
        A VWAttachmentTrackingQuery object describing the running/active workflows referencing the specified attachment. If a translation source exists, the translated work class information is returned; otherwise, the authored information is returned.
        Throws:
        VWException
        See Also:
        VWAttachmentTrackingQuery, VWAttachmentTrackingQuery.next, VWRosterElement, VWSystemConfiguration.setTrackAttachmentReferences
      • fetchAttachmentIsReferenced

        public java.lang.Boolean[] fetchAttachmentIsReferenced(VWAttachment[] theAttachments)
                                                        throws VWException
        Checks an array of attachment objects to see if an active workflow is referencing any of the attachment objects and returns a Boolean value for each attachment, true if the attachment is referenced by a currently running workflow; false otherwise.
        Parameters:
        theAttachments - an array of VWAttachment objects that will be checked for workflow references. A null array is accepted.
        Returns:
        Boolean array of the same size as the parameter array theAttachments. If the i-th value of the Boolean array return value is true, the i-th value of theAttachments is referenced by a running workflow. If the i-th value of the Boolean array return value is false, the i-th value of theAttachments is not referenced by any currently running workflow. If a null array is input, this method will return a null value.
        Throws:
        VWException
        See Also:
        VWAttachment, VWSystemConfiguration.setTrackAttachmentReferences(boolean), VWSession.createAttachmentTrackingQuery(VWAttachment)
      • fetchUserRecords

        public VWUserInfo[] fetchUserRecords(int maxBufferSize,
                                             boolean throwException)
                                      throws VWException
        Fetches a collection of all user environment records that exists on the Process Engine.
        Parameters:
        maxBufferSize - An integer value specifying the maximum number of elements to return in a fetch. Specify a value with greater than 0 (zero), or use 0 (zero) or a negative value to specify the default buffersize, which is 200.
        throwException - Throw exception for missing LDAP users that were deleted from LDAP after enviornment records were created.
        Returns:
        An array of VWUserInfo objects.
        Throws:
        VWException
        Since:
        PEWS3.0
        See Also:
        VWUserInfo
      • fetchMilestonesFromRoster

        public VWMilestoneElement[] fetchMilestonesFromRoster(java.lang.String rosterName,
                                                              java.lang.String queryValue,
                                                              int queryFlag,
                                                              int milestoneLevel)
                                                       throws VWException
        Fetches the milestone data for the current workflow process having work objects in the specified roster. The milestone elements to be returned are limited by the value of the milestoneLevel parameter.
        Parameters:
        rosterName - A String containing the name of a roster having one of the following:
        • The work object specified in the queryValue parameter.
        • One or more work objects belonging to a workflow process that is specified in the queryValue parameter.

        If a translation source exists, the authored roster name is translated.

        queryValue - A String containing a either workflow number or work object number, depending on the which of these is specified for the queryFlag parameter.

        queryFlag - The integer value corresponding to VWSession.MILESTONE_QUERY_WORKFLOW_NUMBER or VWSession.MILESTONE_QUERY_WORKOBJECT_NUMBER.

        MILESTONE_QUERY_WORKFLOW_NUMBER indicates the queryValue parameter contains a workflow number. To use the MILESTONE_QUERY_WORKFLOW_NUMBER option, the following conditions must be satisfied:

        • The F_WorkFlowNumber index must be exposed.
        • A work object belonging to the workflow process to be queried must be present in the roster identified in the rosterName parameter.

        MILESTONE_QUERY_WORKOBJECT_NUMBER indicates the queryValue parameter contains a work object number.

        milestoneLevel - An integer indicating the maximum (inclusive) level property value to use as the limiting value for the returned milestone elements.
        Returns:
        An array of VWMilestoneElement objects for the specified workflow process or work object number, where the work objects were contained in the specified roster, and the milestone level property for each milestone element returned is less than or equal to the value specified in the milestoneLevel parameter.
        Throws:
        VWException - Thrown for various causes, including the following:
        • A null value was specified for the rosterName or queryValue parameters.
        • The workflow number specified for the queryValue parameter identified a workflow process that does not contain a work object in the specified roster.
        • The MILESTONE_QUERY_WORKFLOW_NUMBER value was specified for the queryFlag parameter, but the F_WorkFlowNumber index is not exposed.
      • convertIdToUserNamePx

        public VWParticipant convertIdToUserNamePx(long userId)
                                            throws VWException
        Converts a single user ID to the associated user name (contained in a VWParticipant array). An RPC to the Process Engine is invoked if there has been no previous server call to get user names. If the user name is not found, an additional RPC is invoked to retrieve an updated list of user names.
        Parameters:
        userId - A long representing the user ID.
        Returns:
        A VWParticipant object associated with the specified user ID. Specifying an invalid user ID returns null and does not throw an exception.
        Throws:
        VWException - Various causes, including the following conditions:

        • The user lacks administrative authorization to call this method.
        • The user name cannot be found on a server-updated list.
        See Also:
        VWSession.convertUserNameToId(java.lang.String)
      • convertIdsToUserNamesPx

        public VWParticipant[] convertIdsToUserNamesPx(long[] userIds)
                                                throws VWException
        Converts a list of user IDs to the associated user names (contained in a VWParticipant array). An RPC to the Process Engine is invoked if there has been no previous server call to get user names. If a user name is not found, an additional RPC is invoked to retrieve an updated list of user names.
        Parameters:
        userIds - Array of VWParticipant objects used to retrieve the user names. NoteSpecifying an invalid user ID returns a null array element and does not throw an exception.
        Returns:
        An array of VWParticipant objects containing the user names associated with the specified IDs. A null array element is returned for each invalid ID.
        Throws:
        VWException - Thrown under the following conditions:

        • The user lacks administrative authorization to call this method.
        • The user name cannot be found on a server-updated list.
        See Also:
        convertUserNameToId
      • fetchSecurityDomains

        public VWSecurityDomain[] fetchSecurityDomains()
                                                throws VWException
        Returns all security domains.
        Returns:
        An array of VWSecurityDomain objects representing all of the security domains.
        Throws:
        VWException
      • fetchParticipantsPx

        public VWParticipant[] fetchParticipantsPx(java.lang.String secDomainName,
                                                   java.lang.String[] theNameList)
                                            throws VWException
        Gets general user security information about specified users in a domain.
        Parameters:
        secDomainName - User security domain
        theNameList - Non-null list of users for whom you wish to retrieve information
        Returns:
        Array of VWParticipant objects containing information for the users specified in the theNameList parameter.
        Throws:
        VWException - Thrown for various causes, including when the theNameList argument is null.
        Since:
        VWWS3.10
      • isMemberOfGroupByDomain

        public boolean isMemberOfGroupByDomain(java.lang.String domainName,
                                               java.lang.String groupName)
                                        throws VWException
        Indicates whether or not the user currently logged on is a member of the specified group in the specified domain.

        Note: Members of the Administrative group are considered to be members of every group.

        Parameters:
        domainName - A String containing the domain name.
        groupName - A String containing the group name.
        Returns:
        A boolean value of true if the user is a member of the domain and group specified; false otherwise.
        Throws:
        VWException - Thrown for various causes, including when the specified group name is not found.
      • getCurrentUserSecId

        public long getCurrentUserSecId()
                                 throws VWException
        Returns the user ID for the user currently logged on.
        Returns:
        A long representing the user ID.
        Throws:
        VWException
        Since:
        BPM3.5
      • fetchLimitApplicationFunctionalityFlag

        public boolean fetchLimitApplicationFunctionalityFlag()
                                                       throws VWException
        Deprecated. since PE 4.5.1
        Returns the value of the Full Workflow Functionality flag set in the Process Task Manager.
        Returns:
        Always returns true.
        Throws:
        VWException
      • setBootstrapCEURI

        public void setBootstrapCEURI(java.lang.String bootstrapCEURI)
        Sets the Content Engine URI to be used in discovering the connection points.
        Parameters:
        bootstrapCEURI - A String containing the Content Engine URI to use (for example, "t3://server:7001/FileNet/Engine")
        Since:
        P8 4.0
      • setBootstrapPEURI

        public void setBootstrapPEURI(java.lang.String bootstrapPEURI)
      • setBootstrapConfiguration

        public void setBootstrapConfiguration(java.io.InputStream bootstrapConfigStream)
        Sets the input stream to use for the Content Engine URI configuration data.
        Parameters:
        bootstrapConfigStream - An InputStream object containing the configuration data. The identifying line for the Content Engine URI must be specified in the stream as follows:
         RemoteServerUrl=cemp:ContentEngineURI

        Where ContentEngineURI is the URI of the Content Engine (for example, "t3://server:7001/FileNet/Engine").

        Since:
        P8 4.0
      • fetchAvailableLocales

        public java.util.Locale[] fetchAvailableLocales()
                                                 throws VWException
        Gets the set of available locales registered on the Process Engine server. These are the locales from which the user can choose their preferred locale for email notification.
        Returns:
        An array of Locale objects for the available locales registered on the Process Engine server. If a translation source exists, the translated locale information is returned; otherwise, the authored information is returned. The returned value may be null.
        Throws:
        VWException
        Since:
        P8 4.0
        See Also:
        VWUserInfo.getPreferredLocale, VWUserInfo.setPreferredLocale
      • fetchServerLocale

        public java.util.Locale fetchServerLocale()
                                           throws VWException
        Gets the default locale for the Process Engine server.
        Returns:
        A Locale object representing the default locale for the Process Engine server. If a translation source exists, the translated locale information is returned; otherwise, the authored information is returned. The returned value may be null.
        Throws:
        VWException
        Since:
        P8 4.0
        See Also:
        setClientLocale, getClientLocale
      • setClientLocale

        public void setClientLocale(java.util.Locale myLocale)
                             throws VWException
        Sets the client locale to be used when translating to a language other than the default language of the Process Engine server.
        Parameters:
        myLocale - A Locale object for the client's Locale. Specify null to indicate that no translations to other languages will be done. If a translation source exists, the authored information is translated.
        Throws:
        VWException
        Since:
        P8 4.0
        See Also:
        fetchServerLocale
      • getClientLocale

        public java.util.Locale getClientLocale()
                                         throws VWException
        Get the client locale to be used when translating to a language other than the default language of the Process Engine server.
        Returns:
        A Locale object for the client Locale. If a translation source exists, the translated locale information is returned; otherwise, the authored information is returned. The returned value may be null.
        Throws:
        VWException
        Since:
        P8 4.0
        See Also:
        fetchServerLocale
      • getAuthoredName

        public java.lang.String getAuthoredName(java.lang.String inStr)
                                         throws VWException
        Translate the inStr parameter in to the Authored string. If no translation is found, or if the caller has not set the clientLocale, the inStr is returned unchanged.
        Parameters:
        inStr - the string to be translated.
        Returns:
        a translation of the inStr, or, if no translation is found, the inStr is returned.
        Throws:
        VWException
        Since:
        P8 5.5.8
      • fetchMyRoles

        public VWRole[] fetchMyRoles(java.lang.String appSpaceName)
                              throws VWException
        Retrieves the roles associated with the user currently logged in.

        The current user must be contained in the participant list (or a group in the participant list) for the roles.

        Parameters:
        appSpaceName - A String containing the name of an application space in which the roles are defined. This value can be null; in this case, all application spaces are used.
        Returns:
        An array of VWRole objects representing the current user roles in the specified application space (or all application spaces, if appSpaceName is null).
        Throws:
        VWException
        Since:
        P8 4.5.0
      • fetchMyRole

        public VWRole fetchMyRole(java.lang.String roleName,
                                  java.lang.String appSpaceName)
                           throws VWException
        Retrieves the specified role associated with the user currently logged in.

        The current user must be contained in the participant list (or a group in the participant list) for the role.

        Parameters:
        roleName - A String containing the name of the role.
        appSpaceName - A String containing the name of an application space in which the roles are defined.
        Returns:
        A VWRole object representing the current user role in the specified application space. The VWRole object returned will contain the participant list, role attributes, and only workbaskets that he can read for the specified role.
        Throws:
        VWException
        Since:
        P8 4.5.0
      • fetchRole

        public VWRole fetchRole(java.lang.String appSpaceName,
                                java.lang.String roleName)
                         throws VWException
        Retrieves the role information for the specified application space name and role name.

        The current user must have Write access on the application space (or be a member of the specified role) to retrieve the role information. The VWRole object returned will contain the current participant list, role attributes, and workbaskets for the specified role.

        Parameters:
        appSpaceName - A String containing the name of the application space. If a translation source exists, pass in the translated name.

        roleName - A String containing the name of the role. If a translation source exists, pass in the translated name.

        Returns:
        A VWRole object for the application name and role name specified.
        Throws:
        VWException
        Since:
        P8 4.5.0
      • fetchRole

        public VWRole fetchRole(java.lang.String appSpaceName,
                                java.lang.String roleName,
                                int nPropertyflags,
                                int nSecurityFlag)
                         throws VWException
        Retrieves the role information for the specified application space name and role name with security check enforced.

        The nSecurityFlag defines the access level for the returned role. For appropriate value, see VWSession.ACCESS_READ_APPLICATIONSPACE, VWSession.ACCESS_WRITE_APPLICATIONSPACE, VWSession.ACCESS_MY_ROLES_ONLY. These values CANNOT be combined. User can retrieve an updatable role, a readable role or a role that he is a member of. An exception is thrown back if user does not have the correct security level to access the role.

        The nPropertyFlags defines the amount of data returned for the role. For appropriate value, see VWSession.ROLE_INCLUDE_ATTRIBUTES, VWSession.ROLE_INCLUDE_WORKBASKETS, VWSession.ROLE_INCLUDE_MEMBERS. These values can be combined by bit-wise oring. Depends on need, user can request to return attributes, members, workbaskets for a role.

        Parameters:
        appSpaceName - A String containing the name of the application space. If a translation source exists, pass in the translated name.

        roleName - A String containing the name of the role. If a translation source exists, pass in the translated name.

        Returns:
        A VWRole object for the application name and role name specified.
        Throws:
        VWException
        Since:
        PE 5.2.0.1
      • fetchRoles

        public VWRole[] fetchRoles(java.lang.String appSpaceName,
                                   int nPropertyflags,
                                   int nSecurityFlag)
                            throws VWException
        Retrieves the roles information for the specified application space name with security check enforced.

        The nSecurityFlag defines the access level for the returned roles. For appropriate value, see VWSession.ACCESS_READ_APPLICATIONSPACE, VWSession.ACCESS_WRITE_APPLICATIONSPACE, VWSession.ACCESS_MY_ROLES_ONLY. These values CANNOT be combined. Within the specified application space, user can retrieve all updatable roles, readable roles or roles that he is a member of.

        The nPropertyFlags defines the amount of data returned per role. For appropriate value, see VWSession.ROLE_INCLUDE_ATTRIBUTES, VWSession.ROLE_INCLUDE_WORKBASKETS, VWSession.ROLE_INCLUDE_MEMBERS. These values can be combined by bit-wise oring. Depends on need, user can request to return attributes, members, workbaskets per role.

        Parameters:
        appSpaceName - A String containing the name of the application space. If a translation source exists, pass in the translated name.

        Returns:
        An array of VWRole objects for the application name specified.
        Throws:
        VWException
        Since:
        PE 5.2.0.1
      • fetchAppSpaceNames

        public java.lang.String[] fetchAppSpaceNames(boolean ignoreSecurity)
                                              throws VWException
        Retrieves the application space names for the session. The results returned are filtered according to the value of the ignoreSecurity parameter.
        Parameters:
        ignoreSecurity - If this boolean value is set to true, permissions are ignored and the list of all application spaces is retrieved. If false is specified, permissions are applied, and only the names of application spaces to which the current user has Write permission are retrieved.
        Returns:
        An array of application space names If a translation source exists, return translated names.

        Throws:
        VWException
        Since:
        P8 4.5.0
      • fetchRoleNames

        public java.lang.String[] fetchRoleNames(java.lang.String appSpaceName,
                                                 int accessFlag)
                                          throws VWException
        Retrieves the role names associated with an application space for the session. The results returned are filtered according to the value of the accessFlag parameter. If a translation source exists, return the translated role names.

        Parameters:
        appSpaceName - A String containing the name of the application space associated with the role names.
        accessFlag - An integer indicating one of the following field values:
        Returns:
        A String array of role names for the specified application space.
        Throws:
        VWException
        Since:
        P8 4.5.0
      • createLaunchStepElement

        public VWStepElement createLaunchStepElement(java.lang.String[] fieldNames,
                                                     java.lang.Object[] fieldValues,
                                                     java.lang.String workflowIdentifier)
                                              throws VWException
        Creates a temporary work item with initialized fields from a transferred workflow definition, specified by its workflow identifier.

        This method is similar to createLiveWorkObject, with the following differences:

        • This method returns a VWStepElement object.
        • The returned VWStepElement object is stored in memory, rather than on the Process Engine server. This is object is intended to be used for subsequent update and dispatch.

        Supports distributed transactions

        Parameters:
        fieldNames - A String array containing the names of the fields to update in the new work items, in the same order that the values for those fields are supplied in the fieldValues parameter.
        fieldValues - An array of Objects whose values are supplied, in order, to the fields named in the fieldNames parameter.
        workflowIdentifier - The workflow definition name (work class name) as returned by VWWorkflowDefinition.getName method, or the workflow version (version property) as returned by VWTransferResult.getVersion. You can get a VWTransferResult object using the transfer method.

        The source workflow definition must exist on the Process Engine server. This means that the VWServiceName and isolated region for this identifier should match those of the current VWSession object. You can verify that these values match before calling this method, by validating the workflow version ID using checkWorkflowIdentifier). Specify a workflow version ID for the checkWorkflowIdentifier method (rather than a work class name) as the workflow identifier value.

        If a translation source exists, the authored work class name is translated.

        Returns:
        A VWStepElement object for the temporary work item.
        Throws:
        VWException - Thrown for various causes, including passing in a workflow identifier that is not associated with any workflow.
        Since:
        PE 5.0.0.0
      • fetchApplicationSpace

        public VWApplicationSpace fetchApplicationSpace(java.lang.String appSpaceName,
                                                        int nFetchFlag)
                                                 throws VWException
        Retrieves the specified application space.

        The current user must have write access to the specified application space.

        Parameters:
        appSpaceName - A String containing the name of an application space.
        nFetchFlag - An integer indicating one of the following field values:
        Returns:
        A VWApplicationSpace object representing the specified application space.
        Throws:
        VWException
        Since:
        PE 5.0.0.0
      • getObjectStoreSymbolicName

        public java.lang.String getObjectStoreSymbolicName()
                                                    throws VWException
        Gets the object store symbolic name for the current isolated region.
        Returns:
        A String containing the symbolic name of the object store associated with this isolated region. If no object store is associated with this isolated region, null is returned.
        Throws:
        VWException - Thrown for various causes.
        Since:
        PE 5.0.0.1
      • getObjectStoreId

        public VWGuid getObjectStoreId()
                                throws VWException
        Gets the object store ID for the current isolated region.
        Returns:
        A VWGuid object containing the ID of the object store associated with this isolated region. If no object store is associated with this isolated region, null is returned.
        Throws:
        VWException - Thrown for various causes.
        Since:
        PE 5.0.0.4
      • fetchRegionAdministration

        public VWRegionAdministration fetchRegionAdministration()
                                                         throws VWException
        Gets the region administration object for the current isolated region.
        Returns:
        A VWRegionAdministration object.
        Throws:
        VWException - Thrown if the method cannot get the region administration object for the current isolated region.
        Since:
        PE 5.2.0.0
      • fetchRoleMembers

        public VWParticipant[] fetchRoleMembers(java.lang.String appSpaceName,
                                                java.lang.String roleName)
                                         throws VWException
        Retrieves the role membership for the specified application space name and role name.

        The current user must have Write access on the application space or be a member of one or more of the application space roles to retrieve the role information.

        Parameters:
        appSpaceName - A String containing the name of the application space. If a translation source exists, pass in the translated name.
        roleName - A String containing the name of the role. If a translation source exists, pass in the translated name.
        Returns:
        An array of VWParticipant objects for the application name and role name specified.
        Throws:
        VWException - Thrown for various causes.
        Since:
        PE 5.2.0.0
      • fetchRegionLockStatus

        public int fetchRegionLockStatus()
        Gets the current lock status for the isolated region.
        Returns:
        One of the following:
        Throws:
        VWException - Thrown for various causes.
        Since:
        PE 5.2.0.0
      • fetchRegionWorkScheduleList

        public VWWorkScheduleList fetchRegionWorkScheduleList(java.lang.String startField,
                                                              int count,
                                                              boolean greaterThan)
                                                       throws VWException
        Fetches the work schedule collection for the region associated with the connection point
        Parameters:
        startField - - returns the region fields starting from the name specified. If all fields are required, use empty string to return. This method must be issued again to return subsequent items from the list.
        count - - max number of objects to return.
        greaterThan - - if true, will query for all fields greater than the startField values. If false, will query for items equal and greater than the startField.
        Returns:
        returns VWWorkScheduleList object from the startField name. VWWorkScheduleList can be used to add, modify, create, and delete workschedules for the region associated with the connection point.
        Throws:
        VWException
        Since:
        CPE 5.2.0.3
      • fetchRegionSLAList

        public VWSLAList fetchRegionSLAList(java.lang.String startField,
                                            int count,
                                            boolean greaterThan)
                                     throws VWException
        Fetches the Service Level Agreement (SLA) collection for the region associated with the connection point
        Parameters:
        startField - - returns the region fields starting from the name specified. If all fields are required, use empty string to return. This method must be issued again to return subsequent items from the list.
        count - - max number of objects to return.
        greaterThan - - if true, will query for all fields greater than the startField values. If false, will query for items equal and greater than the startField.
        Returns:
        Returns VWSLAList objects from the startField name. VWSLAList can be used to add, modify, create, and delete SLAs for the region associated with the connection point.
        Throws:
        VWException
        Since:
        CPE 5.2.0.3
      • fetchRegionFieldList

        public VWRegionFieldList fetchRegionFieldList(java.lang.String startField,
                                                      int count,
                                                      boolean greaterThan)
                                               throws VWException
        Fetches Region Field definitions for the region associated with the connection point.
        Parameters:
        startField - Returns the region fields starting from the name specified. If all fields are required, use an empty string. This method must be issued again to return subsequent items from the list.
        count - - max number of objects to return.
        greaterThan - - if true, will query for all fields greater than the startField values. If false, will query for items equal and greater than the startField.
        Throws:
        VWException
        Since:
        CPE 5.2.0.3
      • fetchXliffList

        public VWXLIFFList fetchXliffList(java.util.Locale startLocale,
                                          int count,
                                          boolean greaterThan)
                                   throws VWException
        Fetches XLIFF definitions for the region associated with the connection point.
        Parameters:
        startLocale - Returns the XLIFF definitions starting from the locale specified. If all XLIFF definitions are required, specify null. This method must be issued again to return subsequent items from the list.
        count - - max number of objects to return.
        greaterThan - - if true, will query for all fields greater than the startLocale value. If false, will query for items equal and greater than the startLocale.
        Throws:
        VWException
        Since:
        CPE 5.2.1.0

© Copyright IBM Corporation 2002, 2019. All rights reserved.