wt.org
Class OrganizationServicesHelper

java.lang.Object
  extended bywt.org.OrganizationServicesHelper
All Implemented Interfaces:
Externalizable, Serializable

public class OrganizationServicesHelper
extends Object
implements Externalizable

Class that provides convenient access to the Organization Services manager functionality.

Supported API: true

Extendable: false

See Also:
Serialized Form

Field Summary
static String BASE_SCOPE
          

Supported API: false
private static String CLASSNAME
           
static long EXTERNALIZATION_VERSION_UID
           
private static int[] hashCodeTable
          Generate a system independent hashcode for use in differentiating between principals that have the same name but different LDAP distinguished names.
private static HashSet internalOrgIdSet
           
static OrganizationServicesManager manager
          Provides access to org services manager functionality.
protected static long OLD_FORMAT_VERSION_UID
           
static String ONE_LEVEL_SCOPE
          

Supported API: false
static String PJL_GROUP_SERVICE
           
private static String RESOURCE
           
(package private) static long serialVersionUID
           
static String SUBTREE_SCOPE
          

Supported API: false
static boolean VERBOSE
           
 
Constructor Summary
OrganizationServicesHelper()
           
 
Method Summary
protected static void checkDisable(WTPrincipal principal)
          Check if the given principal may be disabled.
static WTGroup erase(WTGroup group)
          Delete a group or organization from the directory service and remove it from the Windchill database.
static String hashCode(String dn)
           
static boolean isInternalOrganization(WTOrganization organization)
          Returns true if and only if the argument organization corresponds to an internal organization.
 void readExternal(ObjectInput input)
          Reads the non-transient fields of this class from an external source.
private  boolean readOldVersion(ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source, which is not the current version.
protected  boolean readVersion(OrganizationServicesHelper thisObject, ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source.
 void writeExternal(ObjectOutput output)
          Writes the non-transient fields of this class to an external source.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

RESOURCE

private static final String RESOURCE
See Also:
Constant Field Values

CLASSNAME

private static final String CLASSNAME

manager

public static final OrganizationServicesManager manager
Provides access to org services manager functionality.

Supported API: false


BASE_SCOPE

public static final String BASE_SCOPE


Supported API: false

See Also:
Constant Field Values

ONE_LEVEL_SCOPE

public static final String ONE_LEVEL_SCOPE


Supported API: false

See Also:
Constant Field Values

SUBTREE_SCOPE

public static final String SUBTREE_SCOPE


Supported API: false

See Also:
Constant Field Values

serialVersionUID

static final long serialVersionUID
See Also:
Constant Field Values

EXTERNALIZATION_VERSION_UID

public static final long EXTERNALIZATION_VERSION_UID
See Also:
Constant Field Values

OLD_FORMAT_VERSION_UID

protected static final long OLD_FORMAT_VERSION_UID
See Also:
Constant Field Values

PJL_GROUP_SERVICE

public static final String PJL_GROUP_SERVICE

VERBOSE

public static final boolean VERBOSE

internalOrgIdSet

private static HashSet internalOrgIdSet

hashCodeTable

private static int[] hashCodeTable
Generate a system independent hashcode for use in differentiating between principals that have the same name but different LDAP distinguished names. Before computing the hashcode, ensure all spaces have been removed. iPlanet will add spaces in certain cases and this will cause the hashcode to be different for an entry that could actually be the same.

Constructor Detail

OrganizationServicesHelper

public OrganizationServicesHelper()
Method Detail

writeExternal

public void writeExternal(ObjectOutput output)
                   throws IOException
Writes the non-transient fields of this class to an external source.

Supported API: false

Specified by:
writeExternal in interface Externalizable
Parameters:
output -
Throws:
IOException

readExternal

public void readExternal(ObjectInput input)
                  throws IOException,
                         ClassNotFoundException
Reads the non-transient fields of this class from an external source.

Supported API: false

Specified by:
readExternal in interface Externalizable
Parameters:
input -
Throws:
IOException
ClassNotFoundException

readVersion

protected boolean readVersion(OrganizationServicesHelper thisObject,
                              ObjectInput input,
                              long readSerialVersionUID,
                              boolean passThrough,
                              boolean superDone)
                       throws IOException,
                              ClassNotFoundException
Reads the non-transient fields of this class from an external source.

Supported API: false

Parameters:
thisObject -
input -
readSerialVersionUID -
passThrough -
superDone -
Returns:
boolean
Throws:
IOException
ClassNotFoundException

readOldVersion

private boolean readOldVersion(ObjectInput input,
                               long readSerialVersionUID,
                               boolean passThrough,
                               boolean superDone)
                        throws IOException,
                               ClassNotFoundException
Reads the non-transient fields of this class from an external source, which is not the current version.

Parameters:
input -
readSerialVersionUID -
passThrough -
superDone -
Returns:
boolean
Throws:
IOException
ClassNotFoundException

checkDisable

protected static void checkDisable(WTPrincipal principal)
                            throws OrganizationServicesException,
                                   WTException
Check if the given principal may be disabled. Neither the "Administrator" principal or the "Administrators" group may be disabled. A principal may not disable itself.

Supported API: false

Parameters:
principal -
Throws:
OrganizationServicesException
WTException

isInternalOrganization

public static boolean isInternalOrganization(WTOrganization organization)
Returns true if and only if the argument organization corresponds to an internal organization. An internal organization is one whose unique identifier (e.g. CAGE code) is listed in the wt.properties property, wt.org.InternalOrganizations. Throws a NullPointerException if the argument is null.

Supported API: false

Parameters:
organization - WTOrganization whose status as internal is to be determined
Returns:
boolean

hashCode

public static String hashCode(String dn)

erase

public static WTGroup erase(WTGroup group)
                     throws WTException
Delete a group or organization from the directory service and remove it from the Windchill database. This method should be executed with caution as the database can contain many business objects and access control rules that reference a group. Consequently, an attempt to remove a group from the database might trigger various services to remove the many references to the group for which they are responsible. Thus, removing a group can be a very time-consuming process that executes many database operations. It is also quite possible that some references to the removed group will not be cleaned up completely. For example, custom services might not respond to the POST_DELETE event associated with the removal operation, so they might leave some dangling references to the group in BLOB columns or custom attributes.

Supported API: false

Parameters:
group - The group to be deleted from the directory service and removed from the Windchill database.
Returns:
The deleted group
Throws:
WTException