wt.admin
Class StandardAdministrativeDomainManager

java.lang.Object
  extended by wt.services.StandardManager
      extended by wt.admin.StandardAdministrativeDomainManager
All Implemented Interfaces:
Serializable, AdministrativeDomainManager, AdministrativeDomainManagerSvr, NetFactor, wt.services.Manager

public class StandardAdministrativeDomainManager
extends StandardManager
implements AdministrativeDomainManager, AdministrativeDomainManagerSvr, Serializable

The StandardAdministrativeDomainManager provides the default implementation of the AdministrativeDomainManager.

Use the newStandardAdministrativeDomainManager static factory method(s), not the StandardAdministrativeDomainManager constructor, to construct instances of this class. Instances must be constructed using the static factory(s), in order to ensure proper initialization of the instance.



Supported API: true

Extendable: false

See Also:
Serialized Form

Method Summary
 EnumeratorVector allDomainRefs()
          Returns an enumeration of administrative domain references.
 Enumeration allDomains()
          Retrieves all domains defined in the system.
 wt.admin.DomainAdministered changeAdministrativeDomain(wt.admin.DomainAdministered obj, AdminDomainRef domain_ref)
          Changes the domain to which the object belongs and sets domain inheritence to false.
 wt.admin.DomainAdministered changeAdministrativeDomain(wt.admin.DomainAdministered obj, AdminDomainRef domain_ref, boolean inheritedDomain)
          Changes the domain to which the object belongs.
 WTList changeAdministrativeDomain(WTList objs, AdminDomainRef domain_ref, boolean inheritedDomain)
          Multi-object version of the changeAdministrativeDomain() API.
 WTList changeAdministrativeDomain(WTList objs, WTList domain_refs, boolean inheritedDomain)
          Multi-object version of the changeAdministrativeDomain() API.
 AdminDomainRef createDomain(AdminDomainRef domainRef, String name, String description)
          Deprecated.  
 AdminDomainRef createDomain(AdminDomainRef domainRef, String name, String description, WTContainerRef container_ref)
          Create an administrative domain with the given name and description in the specified domain and in the specified container.
 void delete(AdminDomainRef domain)
          Deletes the referenced administrative domain.
 SortedSet getAllEvents(Locale locale)
          Returns the set of all events defined in the system sorted alphabetically.
 Hashtable getClassHierarchy(String from_class)
          Deprecated.  
 String getDisplayDomainPath(AdminDomainRef domain_ref)
          Retrieves the path name in displayable form for an administrative domain given the domain_ref.
 String getDisplayDomainPath(AdministrativeDomain domain)
          Retrieves the path name in displayable form for an administrative domain.
 AdministrativeDomain getDomain(String domain_path)
          Retrieves an administrative domain given its domain name or domain path name.
 AdministrativeDomain getDomain(String domain_path, WTContainerRef container_ref)
          Retrieves an administrative domain given its path name within a container.
 String getDomainPath(AdminDomainRef domain_ref)
          Retrieves the path name in external form for an administrative domain given the domain reference.
 String getDomainPath(AdministrativeDomain domain)
          Retrieves the path name in external form for the given administrative domain.
 wt.admin.DomainAdministered replaceAdministrativeDomain(wt.admin.DomainAdministered from, wt.admin.DomainAdministered to, boolean commit_change)
          Copies the domain reference in the 'from' object to the 'to' object and sets the inheritedDomain attribute to true.
 WTList replaceAdministrativeDomain(wt.admin.DomainAdministered from, WTList to_objs, boolean commit_change)
          Multi-object version of the replaceAdministrativeDomain() API.
 WTList replaceAdministrativeDomain(WTList from_objs, WTList to_objs, boolean commit_change)
          Multi-object version of the replaceAdministrativeDomain() API.
 void setAdministratorRule(AdminDomainRef domainRef)
          Creates an access control rule giving the administrator all the rights in the domain identified by the given domain reference.
 void setAdministratorRule(AdministrativeDomain domain)
          Creates an access control rule giving the administrator all the rights in the given domain.
 void setDomainDescription(AdminDomainRef domainRef, String newDescription)
          Updates the description of the referenced administrative domain.
 AdminDomainRef updateDomain(AdminDomainRef domainRef, String name, String description)
          Update an administrative domain with the given name and description.
 
Methods inherited from class wt.services.StandardManager
getManagerService, getManagerStatus, getName, getStartupType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

getDomain

public AdministrativeDomain getDomain(String domain_path)
                               throws WTException
Retrieves an administrative domain given its domain name or domain path name. If no such domain is found, null is returned. If an unexpected error condition occurs, an exception is thrown.

If no container information is specified within the input domain path (or if only a domain name is provided), a container is derived depending on the input value.

Valid formats for domain_path include:

  1. domain name (e.g., Design)
  2. domain path (e.g., /Design, /Marketing/Brochures, etc.)
  3. [container-path]/domain-path (the external form of the domain path)

Resulting actions for the different input formats:

  1. domain name
    If domain name is one of the special domain names configurable via wt.admin properties in the wt.properties file, the named domain whose parent is the root domain and resides in the Site container is returned. If the domain name is not one of the special domains, the named domain whose parent is the root domain and resides in the Windchill PDM Library container is returned.
  2. domain path
    If domain path is the path for one of the special domains (e.g., /System) the special domain whose parent is the root domain and resides in the Site container is returned; otherwise the domain corresponding to the domain path that resides in the Windchill PDM Library container is returned. Note that in this case the domain path must be relative to the Windchill PDM Library container. This means that all domains in the path must reside in the Windchill PDM Library container.
  3. external form of the domain path ([container-path]/domain-path )
    This is the external form of the domain path. For a description of the external form see the getDomainPath APIs. In this case, the administrative domain corresponding to the domain-path and residing in the container corresponding to the container-path is returned. Note that the domain-path portion must be relative to the container specified by the container-path portion.


Supported API: true

Specified by:
getDomain in interface AdministrativeDomainManager
Parameters:
domain_path - Required. Specifies the administrative domain path or the domain name.
Returns:
AdministrativeDomain
Throws:
WTException

getDomain

public AdministrativeDomain getDomain(String domain_path,
                                      WTContainerRef container_ref)
                               throws WTException
Retrieves an administrative domain given its path name within a container. If no such domain is found, null is returned. If an unexpected error condition occurs, an exception is thrown.

Supported API: true

Specified by:
getDomain in interface AdministrativeDomainManager
Parameters:
domain_path - Required. The domain path of the administrative domain. This must be a path name (i.e., it must start with "/"). The domain path is relative to the container specified by the container_ref parameter. This means that all of the domains contained in the domain path must reside in the container specified by container_ref.
container_ref - Required. The container the domain path is relative to.
Returns:
AdministrativeDomain
Throws:
WTException

getDomainPath

public String getDomainPath(AdministrativeDomain domain)
                     throws WTException
Retrieves the path name in external form for the given administrative domain. If the administrative domain isn't found, null is returned.

To get the domain path name in displayable form use the getDisplayDomainPath API.

The format for the external form of the domain path is [container-path]/domain-path (the brackets are included) where container-path is the form /containerType=name/containerType=name/.../containerType=name

For example:
[/wt.inf.container.OrgContainer=DefaultOrg/wt.inf.library.WTLibrary=Windchill PDM]/Design

See the ContainerPath.getExternalForm() API for more information about the container-path external form. The domain-path is relative to the container meaning that all of the domains in the domain path reside in the container. The external form of the domain path can be used as input to the getDomain(String domain_path) API.

Supported API: true

Specified by:
getDomainPath in interface AdministrativeDomainManager
Parameters:
domain - Required. The administrative domain.
Returns:
String
Throws:
WTException

getDomainPath

public String getDomainPath(AdminDomainRef domain_ref)
                     throws WTException
Retrieves the path name in external form for an administrative domain given the domain reference. If the administrative domain isn't found, null is returned. See the getDomainPath(AdministrativeDomain domain) API for more information.

Supported API: true

Specified by:
getDomainPath in interface AdministrativeDomainManager
Parameters:
domain_ref - Required. The administrative domain reference.
Returns:
String
Throws:
WTException

getDisplayDomainPath

public String getDisplayDomainPath(AdministrativeDomain domain)
                            throws WTException
Retrieves the path name in displayable form for an administrative domain. If the administrative domain isn't found, null is returned.

To get the domain path name in external form use the getDomainPath API.

The format for the displayable form of the domain path is container-path /domain-path where container-path is the form containerType Name,containerType Name,...,containerType Name

For example:
Site,Organization DefaultOrg,Library Windchill PDM /Marketing/Brochures

See the ContainerPath.getDisplayForm() API for more information about the container-path display form.

The domain-path is relative to the container meaning that all of the domains in the domain path reside in the container.

Note that access control is applied to the domain path before it is returned so if a user isn't allowed to see a portion of the path the String (Secured information) is inserted in the domain path. For example, from the above example if the user doesn't have access to container DefaultOrg and domain Marketing the returned domain path is:
(Secured information),Library Windchill PDM /(Secured information)/Brochures

Supported API: true

Specified by:
getDisplayDomainPath in interface AdministrativeDomainManager
Parameters:
domain - Required. The administrative domain.
Returns:
String
Throws:
WTException

getDisplayDomainPath

public String getDisplayDomainPath(AdminDomainRef domain_ref)
                            throws WTException
Retrieves the path name in displayable form for an administrative domain given the domain_ref. If the administrative domain isn't found, null is returned. See the getDisplayDomainPath(AdministrativeDomain domain) API for more information.

Supported API: true

Specified by:
getDisplayDomainPath in interface AdministrativeDomainManager
Parameters:
domain_ref - Required. The administrative domain reference.
Returns:
String
Throws:
WTException

allDomains

public Enumeration allDomains()
                       throws WTException
Retrieves all domains defined in the system.

Supported API: true

Specified by:
allDomains in interface AdministrativeDomainManager
Returns:
Enumeration
Throws:
WTException

allDomainRefs

public EnumeratorVector allDomainRefs()
                               throws WTException
Returns an enumeration of administrative domain references.

Supported API: true

Specified by:
allDomainRefs in interface AdministrativeDomainManager
Returns:
EnumeratorVector
Throws:
WTException

getAllEvents

public SortedSet getAllEvents(Locale locale)
                       throws WTException
Returns the set of all events defined in the system sorted alphabetically.

Supported API: true

Specified by:
getAllEvents in interface AdministrativeDomainManager
Parameters:
locale -
Returns:
SortedSet
Throws:
WTException

createDomain

public AdminDomainRef createDomain(AdminDomainRef domainRef,
                                   String name,
                                   String description)
                            throws WTException,
                                   WTPropertyVetoException
Deprecated. 

Create an administrative domain with the given name and description in the specified domain. Returns a reference to the new domain.

Supported API: true

Specified by:
createDomain in interface AdministrativeDomainManager
Parameters:
domainRef - Domain reference of parent domain
name - Domain name
description - Domain description
Returns:
AdminDomainRef
Throws:
WTException
WTPropertyVetoException
See Also:
createDomain(AdminDomainRef, String, String, WTContainerRef)

createDomain

public AdminDomainRef createDomain(AdminDomainRef domainRef,
                                   String name,
                                   String description,
                                   WTContainerRef container_ref)
                            throws WTException,
                                   WTPropertyVetoException
Create an administrative domain with the given name and description in the specified domain and in the specified container. Returns a reference to the new domain.

Supported API: true

Specified by:
createDomain in interface AdministrativeDomainManager
Parameters:
domainRef -
name -
description -
container_ref -
Returns:
AdminDomainRef
Throws:
WTException
WTPropertyVetoException

changeAdministrativeDomain

public wt.admin.DomainAdministered changeAdministrativeDomain(wt.admin.DomainAdministered obj,
                                                              AdminDomainRef domain_ref)
                                                       throws WTException
Changes the domain to which the object belongs and sets domain inheritence to false. Posts PRE_CHANGE_DOMAIN and POST_CHANGE_DOMAIN events. Persists and returns the changed object. Throws an AdministrativeDomainException if the object is not persistent.

Supported API: true

Specified by:
changeAdministrativeDomain in interface AdministrativeDomainManager
Parameters:
obj - A domain administered object. If obj is null, a WTInvalidParameterException is thrown.
domain_ref - The new administrative domain reference for the domain administered object. If domain_ref is null, a WTInvalidParameterException is thrown.
Returns:
DomainAdministered
Throws:
WTException

changeAdministrativeDomain

public wt.admin.DomainAdministered changeAdministrativeDomain(wt.admin.DomainAdministered obj,
                                                              AdminDomainRef domain_ref,
                                                              boolean inheritedDomain)
                                                       throws WTException,
                                                              WTPropertyVetoException
Changes the domain to which the object belongs. Posts PRE_CHANGE_DOMAIN and POST_CHANGE_DOMAIN events. Persists and returns the changed object. Throws an AdministrativeDomainException if the object is not persistent.

Supported API: true

Specified by:
changeAdministrativeDomain in interface AdministrativeDomainManager
Parameters:
obj - A domain administered object. If obj is null, a WTInvalidParameterException is thrown.
domain_ref - The new administrative domain reference for the domain administered object. If domain_ref is null, a WTInvalidParameterException is thrown.
inheritedDomain - Set to true if the domain is inherited, otherwise set to false
Returns:
DomainAdministered
Throws:
WTException
WTPropertyVetoException

changeAdministrativeDomain

public WTList changeAdministrativeDomain(WTList objs,
                                         AdminDomainRef domain_ref,
                                         boolean inheritedDomain)
                                  throws WTException,
                                         WTPropertyVetoException
Multi-object version of the changeAdministrativeDomain() API. For each DomainAdministered object in the objs collection, the domain reference for the domain to which the object belongs is changed to the domain reference specified by the domain_ref parameter.

The objs collection must contain one or more DomainAdministered objects. The exception is if you want to change the domain that an AdministrativeDomain object belong to. In this case the objs collection can contain only one DomainAdministered object which is the AdministrativeDomain object being modified.

Multi-object PRE_CHANGE_DOMAIN and POST_CHANGE_DOMAIN events are posted before and after changing the DomainAdministered objects in the objs collection.

The domain changes for each DomainAdministered object in the objs collection are persisted and a collection of the modified DomainAdministered objects is returned.

If any of the DomainAdministered objects in the objs collection are not persistent, an AdministrativeDomainException is thrown.

Supported API: true

Specified by:
changeAdministrativeDomain in interface AdministrativeDomainManager
Parameters:
objs - Collection of DomainAdministered objects to be changed. If obj is null or empty, a WTInvalidParameterException is thrown.
domain_ref - The new AdminDomainRef to be assigned to each of the DomainAdministered objects in the objs collection. If domain_ref is null, a WTInvalidParameterException is thrown.
inheritedDomain - Set to true if the domain is inherited; otherwise, set to false
Returns:
WTList
Throws:
WTException
WTPropertyVetoException

changeAdministrativeDomain

public WTList changeAdministrativeDomain(WTList objs,
                                         WTList domain_refs,
                                         boolean inheritedDomain)
                                  throws WTException,
                                         WTPropertyVetoException
Multi-object version of the changeAdministrativeDomain() API. For each DomainAdministered object in the objs collection, the domain reference for the domain to which the object belongs is changed to the domain reference specified by the corresponding AdminDomainRef object in the domain_refs collection.

The objs collection must contain one or more DomainAdministered objects. The exception is if you want to modify the domain that an AdministrativeDomain object belongs to. In this case the objs collection can contain only one DomainAdministered object which is the AdministrativeDomain object being modified. If objs contains multiple objects and one or more of them is an AdministrativeDomain, a AdministrativeDomainException is thrown. If objs is null or empty, a WTInvalidParameterException is thrown.

The domain_refs collection must contain either 1) a single AdminDomainRef object or 2) the same number of AdminDomainRef objects as there are DomainAdministered objects in the objs collection. If domain_refs contains one AdminDomainRef, this AdminDomainRef is assigned to each DomainAdministered object in the objs collection; otherwise, the first AdminDomainRef is assigned to the first DomainAdministered object, the second AdminDomainRef is assigned to the second DomainAdministered object, and so on. If domain_refs is null, empty, or the wrong size, a WTInvalidParameterException is thrown.

Multi-object PRE_CHANGE_DOMAIN and POST_CHANGE_DOMAIN events are posted before and after changing the DomainAdministered objects in the objs collection.

The domain changes for each DomainAdministered object in the objs collection are persisted and a collection of the modified DomainAdministered objects is returned.

If any of the DomainAdministered objects in the objs collection are not persistent, an AdministrativeDomainException is thrown.

Supported API: true

Specified by:
changeAdministrativeDomain in interface AdministrativeDomainManager
Parameters:
objs - Collection of DomainAdministered objects to be changed.
domain_refs - A collection of the new AdminDomainRef objects to be assigned to the corresponding DomainAdministered objects in the objs collection.
inheritedDomain - Set to true if the domain is inherited; otherwise, set to false
Returns:
WTList
Throws:
WTException
WTPropertyVetoException

delete

public void delete(AdminDomainRef domain)
            throws WTException
Deletes the referenced administrative domain. A domain cannot be deleted if it is referenced by other objects (for example, it has children or associated policy rules).

Supported API: true

Specified by:
delete in interface AdministrativeDomainManager
Parameters:
domain -
Throws:
WTException

getClassHierarchy

public Hashtable getClassHierarchy(String from_class)
                            throws WTException
Deprecated. 

Returns the class hierarchy that extends (or implements) the class (or interface) passed as parameter. The hierarchy is returned in the form of a Hashtable, where the keys are the classes that extend (implement) the argument class and the values are vectors of names of the classes that extend the class in the key. All names of the classes are full qualified.

Normally only concrete classes plus wt.fc.WTObject are returned. A list of abstract classes (that implement from_class) may be included by setting the property

wt.admin.hierarchyListAdditions.=class1,class2,...

Deprecated. Use introspection methods defined by the TypeModel (package com.ptc.core.meta.type.runtime.server) to get a type hierarchy.

Supported API: true

Specified by:
getClassHierarchy in interface AdministrativeDomainManager
Parameters:
from_class -
Returns:
Hashtable
Throws:
WTException

setAdministratorRule

public void setAdministratorRule(AdministrativeDomain domain)
                          throws WTException
Creates an access control rule giving the administrator all the rights in the given domain.

Supported API: true

Specified by:
setAdministratorRule in interface AdministrativeDomainManager
Parameters:
domain -
Throws:
WTException

setAdministratorRule

public void setAdministratorRule(AdminDomainRef domainRef)
                          throws WTException
Creates an access control rule giving the administrator all the rights in the domain identified by the given domain reference.

Supported API: true

Specified by:
setAdministratorRule in interface AdministrativeDomainManager
Parameters:
domainRef -
Throws:
WTException

setDomainDescription

public void setDomainDescription(AdminDomainRef domainRef,
                                 String newDescription)
                          throws WTException,
                                 WTPropertyVetoException
Updates the description of the referenced administrative domain.

Supported API: true

Specified by:
setDomainDescription in interface AdministrativeDomainManager
Parameters:
domainRef -
newDescription -
Throws:
WTException
WTPropertyVetoException

updateDomain

public AdminDomainRef updateDomain(AdminDomainRef domainRef,
                                   String name,
                                   String description)
                            throws WTException,
                                   WTPropertyVetoException
Update an administrative domain with the given name and description.

Supported API: true

Specified by:
updateDomain in interface AdministrativeDomainManager
Parameters:
domainRef - Domain reference of the domain to update
name - new domain name
description - new domain description
Returns:
AdminDomainRef
Throws:
WTException
WTPropertyVetoException

replaceAdministrativeDomain

public wt.admin.DomainAdministered replaceAdministrativeDomain(wt.admin.DomainAdministered from,
                                                               wt.admin.DomainAdministered to,
                                                               boolean commit_change)
                                                        throws WTException
Copies the domain reference in the 'from' object to the 'to' object and sets the inheritedDomain attribute to true. Posts PRE_CHANGE_DOMAIN and POST_CHANGE_DOMAIN events. Persists the changes and returns the changed object if commit_change is true.

Supported API: true

Specified by:
replaceAdministrativeDomain in interface AdministrativeDomainManagerSvr
Parameters:
from - The domain administered object to copy the domain reference from. If from is null, a WTInvalidParameterException is thrown.
to - The domain administered object to copy the domain reference to. If to is null, a WTInvalidParameterException is thrown.
commit_change -
Returns:
DomainAdministered
Throws:
WTException

replaceAdministrativeDomain

public WTList replaceAdministrativeDomain(wt.admin.DomainAdministered from,
                                          WTList to_objs,
                                          boolean commit_change)
                                   throws WTException
Multi-object version of the replaceAdministrativeDomain() API. The domain reference in the from DomainAdministered object is copied to each DomainAdministered object in the to_objs collection and each object's inheritedDomain attribute is set to true.

The to_objs collection must contain one or more DomainAdministered objects.The exception is if you want to replace the domain that an AdministrativeDomain object belongs to. In this case the to_objs collection can contain only one DomainAdministered object which is the AdministrativeDomain object being modified. If to_objs contains multiple objects and one or more of them is an AdministrativeDomain, a AdministrativeDomainException is thrown.

Multi-object PRE_CHANGE_DOMAIN and POST_CHANGE_DOMAIN events are posted before and after modifying the DomainAdministered objects in the to_objs collection.

If commit_change is true, the domain changes for each DomainAdministered object in the to_objs collection are persisted.

A collection of the modified DomainAdministered objects is returned.

Supported API: true

Specified by:
replaceAdministrativeDomain in interface AdministrativeDomainManagerSvr
Parameters:
from - The DomainAdministered object to copy the domain reference from. If from is null, a WTInvalidParameterException is thrown.
to_objs - Collection of DomainAdministered objects to copy the from object's domain reference to. If to_objs is null or empty, a WTInvalidParameterException is thrown.
commit_change - If true, the objects in the to_objs collection are persisted after changing their domains.
Returns:
WTList
Throws:
WTException

replaceAdministrativeDomain

public WTList replaceAdministrativeDomain(WTList from_objs,
                                          WTList to_objs,
                                          boolean commit_change)
                                   throws WTException
Multi-object version of the replaceAdministrativeDomain() API. For each DomainAdministered object in the from_objs collection, the domain reference is copied from the from_obj object to the corresponding DomainAdministered object in the to_objs collection and the inheritedDomain attribute is set to true for each to_objs object.

The to_objs collection must contain one or more DomainAdministered objects.The exception is if you want to replace the domain that an AdministrativeDomain object belongs to. In this case the to_objs collection can contain only one DomainAdministered object which is the AdministrativeDomain object being modified. If to_objs contains multiple objects and one or more of them is an AdministrativeDomain, a AdministrativeDomainException is thrown. If to_objs is null or empty, a WTInvalidParameterException is thrown.

The from_objs collection must contain either 1) a single DomainAdministered object or 2) the same number of DomainAdministered objects as are DomainAdministered objects in the to_objs collection. If from_objs contains one DomainAdministered object, the domain reference from this DomainAdministered object is copied to each DomainAdministered object in the to_objs collection; otherwise, the first from_objs DomainAdministered object's domain reference is copied to the first to_objs DomainAdministered object, the second from_objs DomainAdministered object's domain reference is copied to the second to_objs DomainAdministered object, and so on. If from_objs is null, empty, or the wrong size, a WTInvalidParameterException is thrown.

Multi-object PRE_CHANGE_DOMAIN and POST_CHANGE_DOMAIN events are posted before and after modifying the DomainAdministered objects in the to_objs collection.

If commit_change is true, the domain changes for each DomainAdministered object in the to_objs collection are persisted.

A collection of the modified DomainAdministered objects is returned.

Supported API: true

Specified by:
replaceAdministrativeDomain in interface AdministrativeDomainManagerSvr
Parameters:
from_objs - Collection of DomainAdministered objects to copy the domain references from.
to_objs - Collection of DomainAdministered objects to copy the from_objs domain references to.
commit_change - If true, the objects in the to_objs collection are persisted after changing their domains.
Returns:
WTList
Throws:
WTException