Class ProjectProfile
A project profile defines a set of privileges for access to project-specific information. Project profiles are assigned to users based on the OBS hierarchy. To control access to project-specific information, you create project profiles, and then assign specific OBS elements and associated project profiles to individual users. The assigned OBS element determines the EPS and WBS elements for which the user can access project information. The assigned project profile determines the type of access privileges the user has to that project information.
All WBS elements are required to have an assigned responsible OBS. If a user's project profile assignment includes a WBS element's responsible OBS, then the user can access all activities, risks, and issues related to that WBS element. Similarly, all thresholds and project issues also have an assigned responsible OBS. If a user's project profile assignment includes a threshold or issue's responsible OBS, then the user can access that threshold or issue.
A user is not required
to have a profile for every project. However, unless a user's global profile is Admin Superuser,
that user cannot access a project without a project profile. To allow complete access to a
project/OBS assignment, a project profile is included named Project Superuser. You can apply the
Project Superuser profile to as many users and for as many projects as you like. The Project
Superuser profile has a constant ObjectId defined by the PROJECT_SUPERUSER static
constant.
To access individual privileges in a project profile, use the hasPrivilege(), setPrivilege() methods. To get an array of all privileges that are set, use the getPrivileges() method.
See Also: Quick reference of ProjectProfile fields
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionProjectProfile(Session session) Class constructor specifying the Session.ProjectProfile(Session session, ObjectId objId) Class constructor specifying the Session and ObjectId of the object.ProjectProfile(Session session, com.primavera.infr.db.PrmRowSet rowSet, int iIndex) Class constructor called internally after objects are retrieved from the server. -
Method Summary
Modifier and TypeMethodDescriptioncreate()Creates this ProjectProfile object in the database.static ObjectId[]create(Session session, ProjectProfile[] projectprofiles) Creates multiple ProjectProfile objects in the database.voiddelete()Deletes this ProjectProfile object from the database.static voiddelete(Session session, ProjectProfile[] projectprofiles) Deletes multiple ProjectProfile objects from the database.static String[]Gets all fields for this business object.Gets the date this project profile was created.Gets the name of the user that created this project profile.static String[]Deprecated.static String[]Gets all fields that can be filtered.static String[]An internal method that should not be called directly by client code.An internal method that should not be called directly by client code.static String[]An internal method that should not be called directly by client code.booleanGets the flag that indicates this security profile is the default profile assigned to UserOBS objects.booleanGets the flag that indicates this is the project superuser profile, which gives a user read/write privileges for all project and OBS specific information and features.Gets the date this project profile was last updated.Gets the name of the user that last updated this project profile.static String[]Gets all fields that are always exported at a minimum by the new flat XML exportergetName()Gets the unique name of this project profile.Gets the unique ID generated by the system.Sets this privilege on or off.static String[]Gets all fields that must be set before calling create() on this business object.static String[]Gets all writable fields for this business object.booleanhasPrivilege(ProjectPrivilege priv) Find out whether this profile has a certain privilege.static ProjectProfileLoads a single ProjectProfile object from the database.static BOIterator<ProjectProfile>Loads multiple ProjectProfile objects from the database.loadUserOBS(String[] fields, String sWhereClause, String sOrderBy) Loads multiple associated UserOBS objects from the database.voidsetIsDefault(boolean b) Sets the flag that indicates this security profile is the default profile assigned to UserOBS objects.voidSets the unique name of this project profile.voidSets the unique ID generated by the system.voidsetPrivilege(ProjectPrivilege priv, boolean bOn) Turn a certain privilege on or off.toString()Returns a string representation of the object.voidupdate()Updates this ProjectProfile object in the database.static voidupdate(Session session, ProjectProfile[] projectprofiles) Updates multiple ProjectProfile objects in the database.Methods inherited from class com.primavera.integration.client.bo.BusinessObject
equals, getMaxFieldLength, getValue, getValue, hashCode, isNull, setEarlyDate, setNullMethods inherited from class com.primavera.integration.client.BOBase
combineFields
-
Field Details
-
PROJECT_SUPERUSER
Constant for Project Superuser
-
-
Constructor Details
-
ProjectProfile
Class constructor specifying the Session. This constructor is most commonly used when create() is intended to be called on this object.- Parameters:
session- the Session
-
ProjectProfile
Class constructor specifying the Session and ObjectId of the object. This constructor is most commonly used when update() will be called on this object.- Parameters:
session- the SessionobjId- the ObjectId- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
ProjectProfile
public ProjectProfile(Session session, com.primavera.infr.db.PrmRowSet rowSet, int iIndex) throws BusinessObjectException Class constructor called internally after objects are retrieved from the server. Client code should use one of the other constructors for this class.- Parameters:
session- the SessionrowSet- the PrmRowSet retrieved from the serveriIndex- the row index in the PrmRowSet associated with this business object- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
-
Method Details
-
loadUserOBS
public BOIterator<UserOBS> loadUserOBS(String[] fields, String sWhereClause, String sOrderBy) throws ServerException, NetworkException, BusinessObjectException Loads multiple associated UserOBS objects from the database.- Parameters:
fields- fields to loadsWhereClause- where clausesOrderBy- order-by clause- Returns:
- BOIterator a business object iterator used to get the results of the load request
- Throws:
ServerException- if a problem occurred on the server-sideNetworkException- if a problem occurred in the network layerBusinessObjectException- if a problem occurred in the client-side business objects
-
hasPrivilege
Find out whether this profile has a certain privilege.- Parameters:
priv- identify which privilege- Returns:
- boolean whether this profile has this privilege or not
- Throws:
BusinessObjectException
-
setPrivilege
Turn a certain privilege on or off.- Parameters:
priv- identify which privilegebOn- turn on/off this privilege- Throws:
BusinessObjectException
-
getPrivileges
Sets this privilege on or off.- Returns:
- ProjectPrivilege[] privileges that are on
- Throws:
BusinessObjectException
-
getObjectId
Gets the unique ID generated by the system. This field is automatically loaded by default whenever this type of business object is loaded from the database.- Overrides:
getObjectIdin classBusinessObject- Returns:
- the value in the field ObjectId
- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
setObjectId
Sets the unique ID generated by the system. This field is automatically loaded by default whenever this type of business object is loaded from the database.- Overrides:
setObjectIdin classBusinessObject- Parameters:
o- the value to set this field to- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
getIsDefault
Gets the flag that indicates this security profile is the default profile assigned to UserOBS objects. When a ProjectProfile object is deleted from the database, all UserOBS objects assigned to that profile are reassigned to the default profile. You cannot not delete the default profile.- Returns:
- the value in the field IsDefault
- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
setIsDefault
Sets the flag that indicates this security profile is the default profile assigned to UserOBS objects. When a ProjectProfile object is deleted from the database, all UserOBS objects assigned to that profile are reassigned to the default profile. You cannot not delete the default profile.- Parameters:
b- the value to set this field to- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
getIsSuperUser
Gets the flag that indicates this is the project superuser profile, which gives a user read/write privileges for all project and OBS specific information and features.- Returns:
- the value in the field IsSuperUser
- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
getName
Gets the unique name of this project profile. This field must contain a valid value in order to create this type of business object in the database.- Returns:
- the value in the field Name
- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
setName
Sets the unique name of this project profile. This field must contain a valid value in order to create this type of business object in the database.- Parameters:
s- the value to set this field to- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
getCreateDate
Gets the date this project profile was created.- Returns:
- the value in the field CreateDate
- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
getLastUpdateDate
Gets the date this project profile was last updated.- Returns:
- the value in the field LastUpdateDate
- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
getCreateUser
Gets the name of the user that created this project profile.- Returns:
- the value in the field CreateUser
- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
getLastUpdateUser
Gets the name of the user that last updated this project profile.- Returns:
- the value in the field LastUpdateUser
- Throws:
BusinessObjectException- if a problem occurred in the client-side business objects
-
getRequiredCreateFields
Gets all fields that must be set before calling create() on this business object. Generally the array will contain one field in each position, but if this business object requires either one field or another field to be set, both of those fields will appear in an element of the returned array separated by '|'. For example, if this business object requires field A to always be set, and field B or field C to be set, one element in the returned array will contain A, and one element will contain B|C.- Returns:
- String[] an array of required create fields
-
getFilterableFields
Gets all fields that can be filtered.- Returns:
- String[] an array of filterable fields
-
getInternalDefaultLoadFields
An internal method that should not be called directly by client code.- Returns:
- String[] an internal array
-
getAllFields
Gets all fields for this business object.- Returns:
- String[] an array of all fields
-
getInternalAllFields
An internal method that should not be called directly by client code.- Returns:
- String[] an internal array
-
getInternalAllFieldsSet
An internal method that should not be called directly by client code.- Returns:
- String[] an internal array
-
getWritableFields
Gets all writable fields for this business object.- Returns:
- String[] an array of writable fields
-
getDefaultXMLExportFields
Deprecated.Gets the fields that are exported by the hierarchical XML exporter when no fields are specified. This method is no longer relevant since the hierarchical XML exporter has been replaced by the flat XML exporter.- Returns:
- String[] an array of field names
-
getMinimumXMLExportFields
Gets all fields that are always exported at a minimum by the new flat XML exporter- Returns:
- String[] an array of exported fields
-
toString
Returns a string representation of the object. The output is in XML. -
create
Creates this ProjectProfile object in the database.- Returns:
- ObjectId the unique ID of the newly created ProjectProfile object
- Throws:
ServerException- if a problem occurred on the server-sideNetworkException- if a problem occurred in the network layerBusinessObjectException- if a problem occurred in the client-side business objects
-
create
public static ObjectId[] create(Session session, ProjectProfile[] projectprofiles) throws ServerException, NetworkException, BusinessObjectException Creates multiple ProjectProfile objects in the database.- Parameters:
session- the Session objectprojectprofiles- array of ProjectProfile objects to create- Returns:
- ObjectId[] the array of unique IDs of newly created ProjectProfile objects
- Throws:
ServerException- if a problem occurred on the server-sideNetworkException- if a problem occurred in the network layerBusinessObjectException- if a problem occurred in the client-side business objects
-
load
public static ProjectProfile load(Session session, String[] fields, ObjectId objId) throws ServerException, NetworkException, BusinessObjectException Loads a single ProjectProfile object from the database.- Parameters:
session- the Session objectfields- fields to loadobjId- unique ID of the ProjectProfile object- Returns:
- ProjectProfile the ProjectProfile object
- Throws:
ServerException- if a problem occurred on the server-sideNetworkException- if a problem occurred in the network layerBusinessObjectException- if a problem occurred in the client-side business objects
-
load
public static BOIterator<ProjectProfile> load(Session session, String[] fields, ObjectId[] objIds) throws ServerException, NetworkException, BusinessObjectException Loads multiple ProjectProfile objects from the database.- Parameters:
session- the Session objectfields- fields to loadobjIds- object ids of the ProjectProfile objects- Returns:
- BOIterator a business object iterator used to get the results of the load request
- Throws:
ServerException- if a problem occurred on the server-sideNetworkException- if a problem occurred in the network layerBusinessObjectException- if a problem occurred in the client-side business objects
-
update
Updates this ProjectProfile object in the database.- Throws:
ServerException- if a problem occurred on the server-sideNetworkException- if a problem occurred in the network layerBusinessObjectException- if a problem occurred in the client-side business objects
-
update
public static void update(Session session, ProjectProfile[] projectprofiles) throws ServerException, NetworkException, BusinessObjectException Updates multiple ProjectProfile objects in the database.- Parameters:
session- the Session objectprojectprofiles- array of ProjectProfile objects to update- Throws:
ServerException- if a problem occurred on the server-sideNetworkException- if a problem occurred in the network layerBusinessObjectException- if a problem occurred in the client-side business objects
-
delete
Deletes this ProjectProfile object from the database.- Throws:
ServerException- if a problem occurred on the server-sideNetworkException- if a problem occurred in the network layerBusinessObjectException- if a problem occurred in the client-side business objects
-
delete
public static void delete(Session session, ProjectProfile[] projectprofiles) throws ServerException, NetworkException, BusinessObjectException Deletes multiple ProjectProfile objects from the database.- Parameters:
session- the Session objectprojectprofiles- array of ProjectProfile objects to delete- Throws:
ServerException- if a problem occurred on the server-sideNetworkException- if a problem occurred in the network layerBusinessObjectException- if a problem occurred in the client-side business objects
-