wt.federation
Class FederatedInfoEngineService

java.lang.Object
  extended by wt.fc.WTObject
      extended by wt.fc.Item
          extended by wt.federation.FederatedInfoEngineService
All Implemented Interfaces:
Externalizable, Serializable, AccessControlled, wt.access.PolicyAccessControlled, wt.access.SecurityLabeled, wt.admin.DomainAdministered, NetFactor, ObjectMappable, Persistable, FederatedService, DisplayIdentification, RemoteAccess

public class FederatedInfoEngineService
extends Item
implements RemoteAccess, FederatedService, Externalizable

This class implements FederatedService objects that use Info*Engine to access remote systems and data sources.

Use the newFederatedInfoEngineService static factory method(s), not the FederatedInfoEngineService 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

Field Summary
 
Fields inherited from interface wt.federation.FederatedService
SERVICE_NAME
 
Method Summary
 Object createObject(Class objectClass, String sourceObjectId, Hashtable attributes)
          Create a new object in a remote information service.
 void deleteObject(String sourceObjectId)
          Delete the specified object managed by this federated service.
 QueryResult findObjects(Class targetLinkClass, Persistable obj1, String obj1Role, Persistable obj2)
          Return all link objects in this service that exist between two specified source objects.
 QueryResult findObjects(QuerySpec criteria)
          Retrieve objects from this federated service using the specified selection criteria.
 QueryResult findRemoteAssociations(String url, Class linkClass, String role)
          Search the remote service for associations matching the criteria specified in the given URL, and return a QueryResult containing objects corresponding to the matching link and other side objects.
 QueryResult findRemoteAssociations(String filterName, Hashtable filterArguments, Class linkClass, String role)
          Search the remote service for associations matching the specified search filter, and return a QueryResult containing objects corresponding to the matching link and other side objects.
 QueryResult findRemoteObjects(String url)
          Search the remote service for objects matching the criteria specified in the given URL, and return a QueryResult containing the matched objects.
 QueryResult findRemoteObjects(String filterName, Hashtable filterArguments)
          Search the remote service for objects matching the specified search filter, and return a QueryResult containing objects corresponding to the matching objects.
 String getActionURL(String actionName, Hashtable arguments)
          Returns the URL associated with the specified action and set of named arguments.
 String getServiceName()
          Gets the value of the attribute: SERVICE_NAME.
 Enumeration getSupportedLinkClasses()
          Return the enumeration of link class names for which this service supports navigation.
 Enumeration getSupportedObjectClasses()
          Return the enumeration of class names for which this service supports queries.
 InfoEngineTranslationTable getTranslationTable()
          Return an instance of the attribute translation table referenced by this Info*Engine service.
protected  void initialize()
          Supports initialization, following construction of an instance.
protected  void initialize(String serviceName)
          Supports initialization, following construction of an instance.
protected  void initialize(String serviceName, String serviceURL, String translationTableName, String querySpecTranslator)
          Supports initialization, following construction of an instance.
 boolean isNavigationSupported(Class linkClass)
          Return true if the named class is defined in the table of supported link classes for this federated service.
 boolean isQuerySupported(Class objectClass)
          Return true if the named class is defined in the table of supported object classes for this federated service.
 QueryResult navigate(Persistable obj, String role, Class linkClass, boolean onlyOtherSide)
          Return objects from this federated service related to the specified source object given a role and link class.
 QueryResult navigate(Persistable obj, String role, QuerySpec criteria, boolean onlyOtherSide)
          Return objects from this federated service related to the specified source object given a role and link selection crtieria.
static FederatedInfoEngineService newFederatedInfoEngineService()
          Constructor returning an instance initialized with default property values.
static FederatedInfoEngineService newFederatedInfoEngineService(String serviceName)
          Constructor returning an instance initialized with a specified service name and no directory attribute translation table.
static FederatedInfoEngineService newFederatedInfoEngineService(String serviceName, String serviceURL, String translationTableName, String querySpecTranslator)
          Constructor returning an instance initialized with a specified service name, base service URL, and translation table name.
 void purgeCaches()
          Purge any caches that might be kept by the service.
 void refreshObject(Federated proxy)
          Refresh the properties of a proxy object that are derived from a remote object.
 void refreshRemoteObject(Federated proxy)
          Refreshes the derived properties of a specified proxy object.
 Hashtable retrieveAttributes(String sourceObjectId)
          

Supported API: true
 Object retrieveObject(String sourceObjectId)
          Returns a Federated instance of the remote object identified by the specified source object identifier.
 Hashtable retrieveRemoteAttributes(String sourceObjectId)
          Return a Java Hashtable object containing all of the attributes read from the specified remote object.
 Vector retrieveRemoteContentList(String sourceObjectId)
          Return a Java Vector object containing all of the content items linked to the specified remote object.
 Object retrieveRemoteObject(String sourceObjectId)
          Returns a Federated instance of the remote object identified by the specified relative URL.
 void setServiceName(String a_ServiceName)
          Sets the value of the attribute: SERVICE_NAME.
 void updateObject(String sourceObjectId, Hashtable updateAttributes, Vector deleteAttributes)
          Update the attributes of a specified remote object.
 
Methods inherited from class wt.fc.WTObject
getDisplayIdentifier, getDisplayIdentity, getDisplayType
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

newFederatedInfoEngineService

public static FederatedInfoEngineService newFederatedInfoEngineService(String serviceName,
                                                                       String serviceURL,
                                                                       String translationTableName,
                                                                       String querySpecTranslator)
                                                                throws wt.federation.FederationServicesException
Constructor returning an instance initialized with a specified service name, base service URL, and translation table name.

Supported API: true

Parameters:
serviceName -
serviceURL -
translationTableName -
querySpecTranslator -
Returns:
FederatedInfoEngineService
Throws:
wt.federation.FederationServicesException

initialize

protected void initialize(String serviceName,
                          String serviceURL,
                          String translationTableName,
                          String querySpecTranslator)
                   throws wt.federation.FederationServicesException
Supports initialization, following construction of an instance. Invoked by "new" factory having the same signature.

Supported API: true

Parameters:
serviceName -
serviceURL -
translationTableName -
querySpecTranslator -
Throws:
wt.federation.FederationServicesException

newFederatedInfoEngineService

public static FederatedInfoEngineService newFederatedInfoEngineService(String serviceName)
                                                                throws wt.federation.FederationServicesException
Constructor returning an instance initialized with a specified service name and no directory attribute translation table.

Supported API: true

Parameters:
serviceName -
Returns:
FederatedInfoEngineService
Throws:
wt.federation.FederationServicesException

initialize

protected void initialize(String serviceName)
                   throws wt.federation.FederationServicesException
Supports initialization, following construction of an instance. Invoked by "new" factory having the same signature.

Supported API: true

Parameters:
serviceName -
Throws:
wt.federation.FederationServicesException

newFederatedInfoEngineService

public static FederatedInfoEngineService newFederatedInfoEngineService()
                                                                throws wt.federation.FederationServicesException
Constructor returning an instance initialized with default property values.

Supported API: true

Returns:
FederatedInfoEngineService
Throws:
wt.federation.FederationServicesException

retrieveRemoteObject

public Object retrieveRemoteObject(String sourceObjectId)
                            throws wt.federation.FederationServicesException,
                                   WTException
Returns a Federated instance of the remote object identified by the specified relative URL.

Supported API: true

Parameters:
sourceObjectId -
Returns:
Object
Throws:
wt.federation.FederationServicesException
WTException

refreshRemoteObject

public void refreshRemoteObject(Federated proxy)
                         throws wt.federation.FederationServicesException,
                                WTException
Refreshes the derived properties of a specified proxy object.

Supported API: true

Parameters:
proxy -
Throws:
wt.federation.FederationServicesException
WTException

retrieveRemoteAttributes

public Hashtable retrieveRemoteAttributes(String sourceObjectId)
                                   throws wt.federation.FederationServicesException,
                                          WTException
Return a Java Hashtable object containing all of the attributes read from the specified remote object.

Supported API: true

Parameters:
sourceObjectId -
Returns:
Hashtable
Throws:
wt.federation.FederationServicesException
WTException

findRemoteObjects

public QueryResult findRemoteObjects(String filterName,
                                     Hashtable filterArguments)
                              throws wt.federation.FederationServicesException,
                                     WTException
Search the remote service for objects matching the specified search filter, and return a QueryResult containing objects corresponding to the matching objects.

Supported API: true

Parameters:
filterName -
filterArguments -
Returns:
QueryResult
Throws:
wt.federation.FederationServicesException
WTException

findRemoteObjects

public QueryResult findRemoteObjects(String url)
                              throws wt.federation.FederationServicesException,
                                     WTException
Search the remote service for objects matching the criteria specified in the given URL, and return a QueryResult containing the matched objects.

Supported API: true

Parameters:
url -
Returns:
QueryResult
Throws:
wt.federation.FederationServicesException
WTException

findRemoteAssociations

public QueryResult findRemoteAssociations(String filterName,
                                          Hashtable filterArguments,
                                          Class linkClass,
                                          String role)
                                   throws wt.federation.FederationServicesException,
                                          WTException
Search the remote service for associations matching the specified search filter, and return a QueryResult containing objects corresponding to the matching link and other side objects.

Supported API: true

Parameters:
filterName -
filterArguments -
linkClass -
role -
Returns:
QueryResult
Throws:
wt.federation.FederationServicesException
WTException

findRemoteAssociations

public QueryResult findRemoteAssociations(String url,
                                          Class linkClass,
                                          String role)
                                   throws wt.federation.FederationServicesException,
                                          WTException
Search the remote service for associations matching the criteria specified in the given URL, and return a QueryResult containing objects corresponding to the matching link and other side objects.

Supported API: true

Parameters:
url -
linkClass -
role -
Returns:
QueryResult
Throws:
wt.federation.FederationServicesException
WTException

getTranslationTable

public InfoEngineTranslationTable getTranslationTable()
                                               throws wt.federation.FederationServicesException
Return an instance of the attribute translation table referenced by this Info*Engine service.

Supported API: true

Returns:
InfoEngineTranslationTable
Throws:
wt.federation.FederationServicesException

retrieveRemoteContentList

public Vector retrieveRemoteContentList(String sourceObjectId)
                                 throws wt.federation.FederationServicesException,
                                        WTException
Return a Java Vector object containing all of the content items linked to the specified remote object.

Supported API: true

Parameters:
sourceObjectId -
Returns:
Vector
Throws:
wt.federation.FederationServicesException
WTException

getServiceName

public String getServiceName()
Gets the value of the attribute: SERVICE_NAME.

Supported API: true

Specified by:
getServiceName in interface FederatedService
Returns:
String

setServiceName

public void setServiceName(String a_ServiceName)
Sets the value of the attribute: SERVICE_NAME.

Supported API: true

Specified by:
setServiceName in interface FederatedService
Parameters:
a_ServiceName -

getActionURL

public String getActionURL(String actionName,
                           Hashtable arguments)
                    throws wt.federation.FederationServicesException
Returns the URL associated with the specified action and set of named arguments.

Supported API: true

Specified by:
getActionURL in interface FederatedService
Parameters:
actionName -
arguments -
Returns:
String
Throws:
wt.federation.FederationServicesException

retrieveObject

public Object retrieveObject(String sourceObjectId)
                      throws wt.federation.FederationServicesException
Returns a Federated instance of the remote object identified by the specified source object identifier.

Supported API: true

Specified by:
retrieveObject in interface FederatedService
Parameters:
sourceObjectId -
Returns:
Object
Throws:
wt.federation.FederationServicesException

retrieveAttributes

public Hashtable retrieveAttributes(String sourceObjectId)
                             throws wt.federation.FederationServicesException


Supported API: true

Specified by:
retrieveAttributes in interface FederatedService
Parameters:
sourceObjectId -
Returns:
Hashtable
Throws:
wt.federation.FederationServicesException

refreshObject

public void refreshObject(Federated proxy)
                   throws wt.federation.FederationServicesException
Refresh the properties of a proxy object that are derived from a remote object.

Supported API: true

Specified by:
refreshObject in interface FederatedService
Parameters:
proxy -
Throws:
wt.federation.FederationServicesException

createObject

public Object createObject(Class objectClass,
                           String sourceObjectId,
                           Hashtable attributes)
                    throws wt.federation.FederationServicesException
Create a new object in a remote information service.

Supported API: true

Specified by:
createObject in interface FederatedService
Parameters:
objectClass -
sourceObjectId -
attributes -
Returns:
Object
Throws:
wt.federation.FederationServicesException

updateObject

public void updateObject(String sourceObjectId,
                         Hashtable updateAttributes,
                         Vector deleteAttributes)
                  throws wt.federation.FederationServicesException
Update the attributes of a specified remote object.

Supported API: true

Specified by:
updateObject in interface FederatedService
Parameters:
sourceObjectId -
updateAttributes -
deleteAttributes -
Throws:
wt.federation.FederationServicesException

deleteObject

public void deleteObject(String sourceObjectId)
                  throws wt.federation.FederationServicesException
Delete the specified object managed by this federated service.

Supported API: true

Specified by:
deleteObject in interface FederatedService
Parameters:
sourceObjectId -
Throws:
wt.federation.FederationServicesException

findObjects

public QueryResult findObjects(QuerySpec criteria)
                        throws wt.federation.FederationServicesException
Retrieve objects from this federated service using the specified selection criteria.

Supported API: true

Specified by:
findObjects in interface FederatedService
Parameters:
criteria -
Returns:
QueryResult
Throws:
wt.federation.FederationServicesException

findObjects

public QueryResult findObjects(Class targetLinkClass,
                               Persistable obj1,
                               String obj1Role,
                               Persistable obj2)
                        throws wt.federation.FederationServicesException
Return all link objects in this service that exist between two specified source objects.

Supported API: true

Specified by:
findObjects in interface FederatedService
Parameters:
targetLinkClass -
obj1 -
obj1Role -
obj2 -
Returns:
QueryResult
Throws:
wt.federation.FederationServicesException

navigate

public QueryResult navigate(Persistable obj,
                            String role,
                            Class linkClass,
                            boolean onlyOtherSide)
                     throws wt.federation.FederationServicesException
Return objects from this federated service related to the specified source object given a role and link class. Return only the related objects themselves if specified. Otherwise, return both the related objects as well as the link objects that associate them with the source object.

Supported API: true

Specified by:
navigate in interface FederatedService
Parameters:
obj -
role -
linkClass -
onlyOtherSide -
Returns:
QueryResult
Throws:
wt.federation.FederationServicesException

navigate

public QueryResult navigate(Persistable obj,
                            String role,
                            QuerySpec criteria,
                            boolean onlyOtherSide)
                     throws wt.federation.FederationServicesException
Return objects from this federated service related to the specified source object given a role and link selection crtieria. Return only the related objects themselves if specified. Otherwise, return both the related objects as well as the link objects that associate them with the source object.

Supported API: true

Specified by:
navigate in interface FederatedService
Parameters:
obj -
role -
criteria -
onlyOtherSide -
Returns:
QueryResult
Throws:
wt.federation.FederationServicesException

getSupportedObjectClasses

public Enumeration getSupportedObjectClasses()
                                      throws wt.federation.FederationServicesException
Return the enumeration of class names for which this service supports queries.

Supported API: true

Specified by:
getSupportedObjectClasses in interface FederatedService
Returns:
Enumeration
Throws:
wt.federation.FederationServicesException

getSupportedLinkClasses

public Enumeration getSupportedLinkClasses()
                                    throws wt.federation.FederationServicesException
Return the enumeration of link class names for which this service supports navigation.

Supported API: true

Specified by:
getSupportedLinkClasses in interface FederatedService
Returns:
Enumeration
Throws:
wt.federation.FederationServicesException

isQuerySupported

public boolean isQuerySupported(Class objectClass)
                         throws wt.federation.FederationServicesException
Return true if the named class is defined in the table of supported object classes for this federated service.

Supported API: true

Specified by:
isQuerySupported in interface FederatedService
Parameters:
objectClass -
Returns:
boolean
Throws:
wt.federation.FederationServicesException

isNavigationSupported

public boolean isNavigationSupported(Class linkClass)
                              throws wt.federation.FederationServicesException
Return true if the named class is defined in the table of supported link classes for this federated service.

Supported API: true

Specified by:
isNavigationSupported in interface FederatedService
Parameters:
linkClass -
Returns:
boolean
Throws:
wt.federation.FederationServicesException

purgeCaches

public void purgeCaches()
                 throws wt.federation.FederationServicesException
Purge any caches that might be kept by the service.

Supported API: true

Specified by:
purgeCaches in interface FederatedService
Throws:
wt.federation.FederationServicesException

initialize

protected void initialize()
                   throws wt.federation.FederationServicesException
Supports initialization, following construction of an instance. Invoked by "new" factory having the same signature.

Supported API: true

Throws:
wt.federation.FederationServicesException