Compoze Software, Inc.

portlets.compoze.groupware.c13n
Class SiteMinderDominoAccountListener

java.lang.Object
  extended byportlets.compoze.groupware.c13n.DefaultAccountListener
      extended byportlets.compoze.groupware.c13n.SiteMinderDominoAccountListener
All Implemented Interfaces:
AccountListener, java.io.Serializable

public class SiteMinderDominoAccountListener
extends DefaultAccountListener
implements java.io.Serializable

This class represents a SiteMinder account listener for handling groupware accounts backed by a SiteMinder-protected Domino service.

Code is for example purpose.

See Also:
Serialized Form

Constructor Summary
SiteMinderDominoAccountListener()
           
 
Method Summary
 ConnectionPropertyValue[] getAdditionalConnectionPropertyValues(javax.servlet.http.HttpSession httpSession, GroupwareSession groupwareSession, javax.servlet.http.HttpServletRequest request, Account account, com.bea.p13n.usermgmt.profile.ProfileWrapper userProfileWrapper)
          Invoked when getting additional account property values.
 ConnectionPropertyValue[] getConnectionPropertyValues(javax.servlet.http.HttpSession session, com.bea.p13n.usermgmt.profile.ProfileWrapper userProfileWrapper, Account account, ConnectionPropertyValue[] values)
          Invoked when getting account property values.
 ConnectionPropertyValue[] getDefaultConnectionPropertyValues(javax.servlet.http.HttpSession session, com.bea.p13n.usermgmt.profile.ProfileWrapper userProfileWrapper, ConnectionPropertyValue[] values)
          Invoked when getting default account property values.
 portlets.compoze.groupware.controls.provider.Provider getDefaultProvider()
          Invoked when checking for the default provider.
 java.lang.String getRequiredAccountName(javax.servlet.http.HttpSession session, com.bea.p13n.usermgmt.profile.ProfileWrapper userProfileWrapper)
          Gets the name of the required account.
 boolean isAccountRequired(javax.servlet.http.HttpSession session, com.bea.p13n.usermgmt.profile.ProfileWrapper userProfileWrapper)
          Checks if at least one account is required.
 boolean isConfigurable()
          Invoked when checking if users can configure accounts.
 boolean isPropertyModifiable(ConnectionProperty connProp)
          Invoked when checking if the connection property is modifiable.
 boolean isPropertyRequired(ConnectionProperty connProp)
          Invoked when checking if the connection property is required.
 boolean supportsMultipleAccounts()
          Invoked when checking if multiple accounts are supported.
 
Methods inherited from class portlets.compoze.groupware.c13n.DefaultAccountListener
appendConnectionPropertyValue, appendConnectionPropertyValues, decodeValue, dumpConnectionPropertyValues, encodeValue, getAccountListener, getConnectionPropertyValue, isPasswordEncrypted, setConnectionPropertyValues
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SiteMinderDominoAccountListener

public SiteMinderDominoAccountListener()
Method Detail

isPropertyModifiable

public boolean isPropertyModifiable(ConnectionProperty connProp)
Invoked when checking if the connection property is modifiable.

Specified by:
isPropertyModifiable in interface AccountListener
Overrides:
isPropertyModifiable in class DefaultAccountListener
Parameters:
connProp - the connection property
Returns:
true if the connection property is modifiable; false otherwise

System administrator could allow/forbid user to modify certain connection property values when user adds or edits the groupware account. For example, if the Domino Service URL is designated for all the users, system administrator can make the Domino Service URL unmodifiable.


isPropertyRequired

public boolean isPropertyRequired(ConnectionProperty connProp)
Invoked when checking if the connection property is required.

Specified by:
isPropertyRequired in interface AccountListener
Overrides:
isPropertyRequired in class DefaultAccountListener
Parameters:
connProp - the connection property
Returns:
true if the connection property is required; false otherwise

Connection required to establish a connection to the Domino service include:

  1. Username
  2. Password
  3. Domino service URL (hostname)

Connection not required to establish a connection to the Domino service include:

  1. Domino service version check: default to the true
  2. Domino lookup server
  3. Domino mailbox
  4. Domino proxy URL
  5. Domino proxy username
  6. Domino proxy password


supportsMultipleAccounts

public boolean supportsMultipleAccounts()
Invoked when checking if multiple accounts are supported.

Specified by:
supportsMultipleAccounts in interface AccountListener
Overrides:
supportsMultipleAccounts in class DefaultAccountListener
Returns:
true if multiple accounts are supported; false otherwise

A user may be allowed to have/access multiple Domino accounts. For example, user "Jack Smith" may be a member of the company's support team and therefore should have access to the Support account. Enabling multiple accounts support allow a user to have more than one groupware accounts and to access multiple Domino accounts in the same portal.


isConfigurable

public boolean isConfigurable()
Invoked when checking if users can configure accounts.

Specified by:
isConfigurable in interface AccountListener
Overrides:
isConfigurable in class DefaultAccountListener
Returns:
true if accounts are configurable; false otherwise

User is allowed to configure the account(s).


getDefaultProvider

public portlets.compoze.groupware.controls.provider.Provider getDefaultProvider()
Invoked when checking for the default provider.

Specified by:
getDefaultProvider in interface AccountListener
Overrides:
getDefaultProvider in class DefaultAccountListener
Returns:
the default provider

Domino service is the required groupware provider.


getConnectionPropertyValues

public ConnectionPropertyValue[] getConnectionPropertyValues(javax.servlet.http.HttpSession session,
                                                             com.bea.p13n.usermgmt.profile.ProfileWrapper userProfileWrapper,
                                                             Account account,
                                                             ConnectionPropertyValue[] values)
                                                      throws GroupwareException
Invoked when getting account property values.

Specified by:
getConnectionPropertyValues in interface AccountListener
Overrides:
getConnectionPropertyValues in class DefaultAccountListener
Parameters:
session - the http session (may not be null)
userProfileWrapper - the user profile (may not be null)
account - the account (may not be null)
values - an array of connection property values
Returns:
an array of connection property values

Connection property values are obtained to initialize or create a session for a groupware account. The connection property values belongs to the account passed to this method.

The connection property values passed to this method could be re-processed here. The connection property value returned from this method could also be obtained from the portal through the user profile wrapper. They could also be extracted from a file, database, any network resources or any persistent store.

Here since we don't allow user to modify the Domino service URL (See #isPropertyModifiable), the Domino Service URL connection property value is appended as one of the connection properties returned.

Throws:
GroupwareException

getDefaultConnectionPropertyValues

public ConnectionPropertyValue[] getDefaultConnectionPropertyValues(javax.servlet.http.HttpSession session,
                                                                    com.bea.p13n.usermgmt.profile.ProfileWrapper userProfileWrapper,
                                                                    ConnectionPropertyValue[] values)
                                                             throws GroupwareException
Invoked when getting default account property values.

Specified by:
getDefaultConnectionPropertyValues in interface AccountListener
Overrides:
getDefaultConnectionPropertyValues in class DefaultAccountListener
Parameters:
session - the http session (may not be null)
userProfileWrapper - the user profile (may not be null)
values - an array of connection property values (may not be null)
Throws:
GroupwareException

isAccountRequired

public boolean isAccountRequired(javax.servlet.http.HttpSession session,
                                 com.bea.p13n.usermgmt.profile.ProfileWrapper userProfileWrapper)
                          throws GroupwareException
Checks if at least one account is required.

Specified by:
isAccountRequired in interface AccountListener
Overrides:
isAccountRequired in class DefaultAccountListener
Parameters:
session - the http session (may not be null)
userProfileWrapper - the user profile (may not be null)
Returns:
true if an account is required; false otherwise

At least one groupware account is required for a user to use the groupware portlet. Setting account not required won't set up a groupware account using the required account name (see #getRequiredAccountName) in case user doesn't have any groupware account setup.

Throws:
GroupwareException

getRequiredAccountName

public java.lang.String getRequiredAccountName(javax.servlet.http.HttpSession session,
                                               com.bea.p13n.usermgmt.profile.ProfileWrapper userProfileWrapper)
                                        throws GroupwareException
Gets the name of the required account.

Specified by:
getRequiredAccountName in interface AccountListener
Overrides:
getRequiredAccountName in class DefaultAccountListener
Parameters:
session - the http session (may not be null)
userProfileWrapper - the user profile (may not be null)
Returns:
the account name (may not be null)
Throws:
GroupwareException
See Also:

If user doesn't have any groupware account setup in the portal, and at least an account is required (see #isAccountRequired), then this account will be set in the portal (with missing connection properties).


getAdditionalConnectionPropertyValues

public ConnectionPropertyValue[] getAdditionalConnectionPropertyValues(javax.servlet.http.HttpSession httpSession,
                                                                       GroupwareSession groupwareSession,
                                                                       javax.servlet.http.HttpServletRequest request,
                                                                       Account account,
                                                                       com.bea.p13n.usermgmt.profile.ProfileWrapper userProfileWrapper)
                                                                throws GroupwareException
Invoked when getting additional account property values.

Specified by:
getAdditionalConnectionPropertyValues in interface AccountListener
Overrides:
getAdditionalConnectionPropertyValues in class DefaultAccountListener
Parameters:
httpSession - the http session (may not be null)
groupwareSession - the groupware session (may not be null)
account - the grouwpware account for which to retrieve additional property values (may not be null)
userProfileWrapper - the user profile (may not be null)
Returns:
an array of additional connection property values or an empty array
Throws:
GroupwareException

Compoze Software, Inc.

Copyright ©1999-2003 Compoze Software, Inc. All rights reserved.