# com.bea.p13n.controls.profile
ProfileControl Interface

public interface ProfileControl
extends `Control`

Control to access and modify the user profile. The methods all use the ProfileWrapper as the object for which the profile will be associated. The ProfileWrapper is available in every Session, regardless of whether the user is registered. To get the ProfileWrapper from the request, use PropertyControl.getProfileFromRequest().

This control is not compatible with the deprecated UserManagerControl and GroupManagerControl. Instead, use this control with the UserProviderControl and GroupProviderControl.
Security requirements: Are determined by the settings on the AtnSecurityProviderMBean.

Related Topics

``ProfileWrapper``
``ProfileManager``

All Superinterfaces
  `Control`, `Control`, `Serializable`

## Method Summary

`public void` | `cleanupMisconfiguredGroups`() Removes misconfigured groups.
`public void` | `cleanupMisconfiguredUsers`() Removes misconfigured users.
`public `ProfileWrapper`` | `createGroupProfile`(`String` groupname) Create a new group profile
`public `ProfileWrapper`` | `createUserProfile`(`String` username) Create a new user profile
`public `ProfileWrapper`` | `getGroupProfile`(`String` groupname) Access the ProfileWrapper for the given groupname, if the group profile exists
`public `ProfileManager`` | `getGroupProfileManager`() Returns the GroupProfileManager EJB, a stateless session bean used to access profile values.
`public `String`[]` | `getGroupProfileNames`() Returns just the groups found in the database.
`public `String`[]` | `getMisconfiguredGroups`() Returns the group names that have profiles, but do not exist in the realm (no group created).
`public `String`[]` | `getMisconfiguredUsers`() Returns the usernames that have profiles, but do not exist in the realm as users.
`public `ProfileWrapper`` | `getProfile`(`String` username, `String` groupname) Get the profile wrapper for this user, using the group profile as the successor.
`public `ProfileWrapper`` | `getProfileFromRequest`(`HttpServletRequest` request) Get the existing ProfileWrapper from the request, or return null if none exists.
`public `ProfileWrapper`` | `getUserProfile`(`String` username) Access the profile wrapper for this user, if the user profile exists.
`public `ProfileManager`` | `getUserProfileManager`() Returns the UserProfileManager EJB, a stateless session bean used to access profile values.
`public `String`[]` | `getUserProfileNames`() Returns just the users found in the database.
`public boolean` | `groupProfileExists`(`String` groupname) Determine whether the group profile exists
`public void` | `removeGroupProfile`(`String` groupname) Remove this group's profile.
`public void` | `removeUserProfile`(`String` username) Remove this user's profile.
`public boolean` | `userProfileExists`(`String` username) Determine whether the user profile exists

## Method Detail

### cleanupMisconfiguredGroups() Method

    public void cleanupMisconfiguredGroups()
         throws P13nControlException

Removes misconfigured groups. Caller must be in the role of PortalSystemAdminstrator

#### Returns

a status message for the operation

#### Exceptions

``P13nControlException``
  if errors cleaning up groups, or if caller is not in allowed role

### cleanupMisconfiguredUsers() Method

    public void cleanupMisconfiguredUsers()
         throws P13nControlException

Removes misconfigured users. Caller must be in the role of PortalSystemAdminstrator

#### Returns

a status message for the operation

#### Exceptions

``P13nControlException``
  if errors cleaning up users, or if caller is not in allowed role

### createGroupProfile(String) Method

    public ProfileWrapper createGroupProfile(String groupname)
         throws P13nControlException

Create a new group profile

#### Returns

a new profile wrapper representing the profile for this group.

#### Exceptions

``P13nControlException``

### createUserProfile(String) Method

    public ProfileWrapper createUserProfile(String username)
         throws P13nControlException

Create a new user profile

#### Returns

a new profile wrapper representing the profile for this user.

#### Exceptions

``P13nControlException``

### getGroupProfile(String) Method

    public ProfileWrapper getGroupProfile(String groupname)
         throws P13nControlException

Access the ProfileWrapper for the given groupname, if the group profile exists

#### Parameters

groupname
  the groupname of the profile

#### Returns

an initialized ProfileWrapper if the group profile exists, null otherwise

#### Exceptions

``P13nControlException``
  errors are encountered accessing the group profile

### getGroupProfileManager() Method

    public ProfileManager getGroupProfileManager()
         throws P13nControlException

Returns the GroupProfileManager EJB, a stateless session bean used to access profile values. It coordinates successor searches and mapping properties to different datasources.

#### Returns

The profile manager used for this control

#### Exceptions

``P13nControlException``

### getGroupProfileNames() Method

    public String[] getGroupProfileNames()
         throws P13nControlException

Returns just the groups found in the database. Caller must be in the role of PortalSystemAdminstrator

#### Returns

a list of groups in the database

#### Exceptions

``P13nControlException``
  if errors accessing the database, or if caller is not in allowed role

### getMisconfiguredGroups() Method

    public String[] getMisconfiguredGroups()
         throws P13nControlException

Returns the group names that have profiles, but do not exist in the realm (no group created). Caller must be in the role of PortalSystemAdminstrator

#### Returns

the names for the groups that are misconfigured

#### Exceptions

``P13nControlException``
  if user find error, or if caller is not in allowed role

### getMisconfiguredUsers() Method

    public String[] getMisconfiguredUsers()
         throws P13nControlException

Returns the usernames that have profiles, but do not exist in the realm as users. Caller must be in the role of PortalSystemAdminstrator

#### Returns

the usersnames for the users that are misconfigured

#### Exceptions

``P13nControlException``
  if user find error, or if caller is not in allowed role

### getProfile(String, String) Method

    public ProfileWrapper getProfile(String username,
                                     String groupname)
         throws P13nControlException

Get the profile wrapper for this user, using the group profile as the successor.

This method assumes the profile already exists for the user and group. Neither the username nor groupname can be null.

#### Parameters

username
  the username of the profile. Cannot be null.

groupname
  the groupname of the profile. Cannot be null.

#### Returns

an initialized ProfileWrapper if the user and group profiles exist, null otherwise.

#### Exceptions

``P13nControlException``

### getProfileFromRequest(HttpServletRequest) Method

    public ProfileWrapper getProfileFromRequest(HttpServletRequest request)

Get the existing ProfileWrapper from the request, or return null if none exists.

#### Parameters

request
  the request object

#### Returns

an initialized ProfileWrapper

### getUserProfile(String) Method

    public ProfileWrapper getUserProfile(String username)
         throws P13nControlException

Access the profile wrapper for this user, if the user profile exists. No successor will be assumed. Use getProfile(username, groupname) if you want the user profile to use the group profile as its successor.

#### Parameters

username
  the username of the profile

#### Returns

an initialized ProfileWrapper if the user profile exists, null otherwise

#### Exceptions

``P13nControlException``
  errors are encountered accessing the user profile.

### getUserProfileManager() Method

    public ProfileManager getUserProfileManager()
         throws P13nControlException

Returns the UserProfileManager EJB, a stateless session bean used to access profile values. It coordinates successor searches and mapping properties to different datasources.

#### Returns

The profile manager used for this control

#### Exceptions

``P13nControlException``

### getUserProfileNames() Method

    public String[] getUserProfileNames()
         throws P13nControlException

Returns just the users found in the database. Caller must be in the role of PortalSystemAdminstrator

#### Returns

a list of usernames in the database

#### Exceptions

``P13nControlException``
  if errors accessing the database, or if caller is not in allowed role

### groupProfileExists(String) Method

    public boolean groupProfileExists(String groupname)
         throws P13nControlException

Determine whether the group profile exists

#### Returns

true if exists, false if not

#### Exceptions

``P13nControlException``

### removeGroupProfile(String) Method

    public void removeGroupProfile(String groupname)
         throws P13nControlException

Remove this group's profile. If profile does not exist, this method returns with no exceptions. Caller must be in the role of PortalSystemAdminstrator

#### Exceptions

``P13nControlException``
  if caller is not in allowed role

### removeUserProfile(String) Method

    public void removeUserProfile(String username)
         throws P13nControlException

Remove this user's profile. If profile does not exist, this method returns with no exceptions. Caller must be in the role of PortalSystemAdminstrator

#### Exceptions

``P13nControlException``
  if caller is not in allowed role

### userProfileExists(String) Method

    public boolean userProfileExists(String username)
         throws P13nControlException

Determine whether the user profile exists

#### Returns

true if exists, false if not

#### Exceptions

``P13nControlException``