com.ibm.itim.apps.provisioning
Class ServiceMO

java.lang.Object
  |
  +--com.ibm.itim.apps.provisioning.ServiceMO

public class ServiceMO
extends java.lang.Object

Managed object representing a service.


Constructor Summary
ServiceMO(PlatformContext platform, javax.security.auth.Subject subject, DistinguishedName name)
          Constructs the the managed object with a platform context, a subject, and the distinguished name of the object to manage.
 
Method Summary
 java.util.Collection getAccounts()
          Returns all the accounts that are hosted by this service.
 OrganizationalContainerMO getContainer()
          Returns the current parent container in the tree.
 Service getData()
          Returns a current snapshot of the Service object.
 DistinguishedName getDistinguishedName()
          Returns the distinguished name of the managed object
 ServiceMO getHost()
          Returns the host, or concrete service, this service proxies.
 java.util.Collection getOrphanedAccounts()
          Returns all of the orphaned accounts for this service.
 java.util.Collection getOwnedAccounts()
          Returns all the owned accounts that are hosted by this service.
 PersonMO getOwner()
          Returns the service owner (if any).
 java.util.Collection getPrerequisites()
          Returns the prerequisites of the service.
 boolean isCircularDependent(Service service)
          Checks whether this managed object (ServiceMO) is a prerequisite of a service (that is passesed as a parameter) or the prerequisite of service's prerequisite.
 boolean isHosted()
          Returns whether this service is a "hosted" service.
 boolean isPasswordRequired()
          Returns whether this service requires a password for its accounts.
 void remove()
          Removes the managed object from the provisioning platform.
 ServiceTestResult testCommunications()
          Tests the communications with the physical service itself to ensure provisioning actions can be fulfilled.
 void update(Service s)
          Updates the managed object.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ServiceMO

public ServiceMO(PlatformContext platform,
                 javax.security.auth.Subject subject,
                 DistinguishedName name)
Constructs the the managed object with a platform context, a subject, and the distinguished name of the object to manage.

Parameters:
platform - PlatformContext holding platform connection information.
subject - Subject representing the authenticated caller.
name - DistinguishedName identifying the container.
Method Detail

getDistinguishedName

public DistinguishedName getDistinguishedName()
Returns the distinguished name of the managed object

Returns:
DistinguishedName of the managed object.

getData

public Service getData()
                throws java.rmi.RemoteException,
                       ApplicationException
Returns a current snapshot of the Service object.

Returns:
Service object holding attribute information.
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
ApplicationException - Thrown if unable to retrieve data.

getContainer

public OrganizationalContainerMO getContainer()
                                       throws java.rmi.RemoteException,
                                              ApplicationException,
                                              AuthorizationException
Returns the current parent container in the tree.

Returns:
OrganizationalContainerMO representing the parent container.
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
AuthorizationException - Thrown if client is unauthorized to view the container of the service.
ApplicationException - Thrown if unable to retrieve the service's container. This may possibly be caused by the service being removed by another client previous to this call.

remove

public void remove()
            throws java.rmi.RemoteException,
                   ApplicationException,
                   AuthorizationException
Removes the managed object from the provisioning platform.

Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
AuthorizationException - Thrown if client is unauthorized to remove the service.
ApplicationException - Thrown if unable to remove the object.

update

public void update(Service s)
            throws java.rmi.RemoteException,
                   AuthorizationException,
                   SchemaViolationException,
                   ApplicationException
Updates the managed object. A Service value object is provided with the changes to make.

Parameters:
s - Service value object with changes to make.
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
AuthorizationException - Thrown if client is unauthorized to change the service. Note, even if only one of the attributes being changed is not writeable for the client, the entire request will fail and this exception will be thrown.
SchemaViolationException - Thrown if any of the attributes in the value object violates the managed object's schema.
ApplicationException - Thrown if unable to upate the object. This may possibly be caused by the service being removed by another client previous to this call.

getOwner

public PersonMO getOwner()
                  throws java.rmi.RemoteException,
                         AuthorizationException,
                         ApplicationException
Returns the service owner (if any).

Returns:
PersonMO representing the service's owner, null if no owner is defined.
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
AuthorizationException - Thrown if client is unauthorized to view the owner of the service.
ApplicationException - Thrown if unable to retrieve the service's owner. This may possibly be caused by the service being removed by another client previous to this call.

getPrerequisites

public java.util.Collection getPrerequisites()
                                      throws java.rmi.RemoteException,
                                             AuthorizationException,
                                             ApplicationException
Returns the prerequisites of the service. The prerequisites are the required services to have this service for a person. For example, if the Exchange service has a AD (Active Directory) service as a prerequisite, then to have a Exchange account for a person, this person should have a AD account first.

Returns:
Collection of ServiceMO's representing the prerequisites. If there is no prerequisite then the empty collection will be returned.
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
AuthorizationException - Thrown if client is unauthorized to view the service's prerequisites.
ApplicationException - Thrown if unable to obtain the prerequisites. This may possibly be caused by the service being removed by another client previous to this call.

getHost

public ServiceMO getHost()
                  throws java.rmi.RemoteException,
                         AuthorizationException,
                         ApplicationException
Returns the host, or concrete service, this service proxies. This is only applicable if this service is a "hosted" service (see isHosted()).

Returns:
ServiceMO representing the host, or concrete service. Null is returned if this is called on a non "hosted" service.
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
AuthorizationException - Thrown if client is unauthorized to view the service's host.
ApplicationException - Thrown if unable to obtain the host. This may possibly be caused by the service being removed by another client previous to this call.

getAccounts

public java.util.Collection getAccounts()
                                 throws java.rmi.RemoteException,
                                        ApplicationException
Returns all the accounts that are hosted by this service. Note, not all accounts may be viewable (searchable) by the client. Those unauthorized accounts will be filtered out from the returned list and no AuthorizationException will be thrown.

Returns:
Collection of AccountMO's that are hosted by this service. If there is no account, then empty collection will be returned.
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
ApplicationException - Thrown if unable to obtain the accounts. This may possibly be caused by the service being removed by another client previous to this call.

getOrphanedAccounts

public java.util.Collection getOrphanedAccounts()
                                         throws java.rmi.RemoteException,
                                                AuthorizationException,
                                                ApplicationException
Returns all of the orphaned accounts for this service.

Returns:
Collection of AccountMO's representing the service's orphaned accounts.
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
AuthorizationException - Thrown if client is unauthorized to view the service's orphaned accounts.
ApplicationException - Thrown if unable to obtain the orphaned accounts. This may possibly be caused by the service being removed by another client previous to this call.

getOwnedAccounts

public java.util.Collection getOwnedAccounts()
                                      throws java.rmi.RemoteException,
                                             AuthorizationException,
                                             ApplicationException
Returns all the owned accounts that are hosted by this service. Note, not all accounts may be viewable (searchable) by the client. Those unauthorized accounts will be filtered out of the returned list and no AuthorizationException will be thrown.

Returns:
Collection of AccountMO's representing the service's owned accounts. If there is no owned account then the empty collection will be returned.
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
AuthorizationException - Thrown if client is unauthorized to view the service's owned accounts.
ApplicationException - Thrown if unable to obtain the owned accounts. This may possibly be caused by the service being removed by another client previous to this call.

isHosted

public boolean isHosted()
                 throws java.rmi.RemoteException,
                        AuthorizationException,
                        ApplicationException
Returns whether this service is a "hosted" service. A "hosted" service is a virtual service that really just proxies, or represents, a real, or concrete, service in a different organization. The distinction is important, because a "hosted" service does not hold communication configuration information and does not have access to administrative operations such as retrieving orphaned accounts. The purpose of the "hosted" service is to provide an application service provider (ASP) to represent the hosting, or leasing, of a service to a customer organization. They can represent the service that is being leased in the customer's org chart and build policies around it, still referencing the concrete service where administration and communication is configured in its own org chart.

Returns:
true if the service is "hosted", false if not.
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
AuthorizationException - Thrown if client is unauthorized to know this information.
ApplicationException - Thrown if unable to determine the answer. This may possibly be caused by the service being removed by another client previous to this call.

isPasswordRequired

public boolean isPasswordRequired()
                           throws java.rmi.RemoteException,
                                  AuthorizationException,
                                  ApplicationException
Returns whether this service requires a password for its accounts. Not all service require account passwords, usually due to the use of single sign-on (SSO) products.

Returns:
true if the service requires passwords for its accounts, false if not.
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
AuthorizationException - Thrown if client is unauthorized to know this information.
ApplicationException - Thrown if unable to determine the answer. This may possibly be caused by the service being removed by another client previous to this call.

isCircularDependent

public boolean isCircularDependent(Service service)
                            throws java.rmi.RemoteException,
                                   AuthorizationException,
                                   ApplicationException
Checks whether this managed object (ServiceMO) is a prerequisite of a service (that is passesed as a parameter) or the prerequisite of service's prerequisite.

Parameters:
service - The service to be evaluated.
Returns:
true if this ServiceMO is a prerequisite of a service or prerequisite of one of prerequisites; false otherwise
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
AuthorizationException - Thrown if client is unauthorized to know this information.
ApplicationException - Thrown if unable to determine the answer. This may possibly be caused by the service being removed by another client previous to this call.
See Also:
getPrerequisites()

testCommunications

public ServiceTestResult testCommunications()
                                     throws java.rmi.RemoteException,
                                            ApplicationException
Tests the communications with the physical service itself to ensure provisioning actions can be fulfilled.

Returns:
ServiceTestResult holding the results of the test.
Throws:
java.rmi.RemoteException - Thrown if unable to communicate with platform.
AuthorizationException - Thrown if client is unauthorized to know this information.
ApplicationException - Thrown if unable to determine the answer. This may possibly be caused by the service being removed by another client previous to this call.


IBM Tivoli Identity Manager 4.6
© Copyright International Business Machines Corporation 2005. All rights reserved. US Government Users Restricted Rights Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.