wt.federation
Class FederatedInfoEngineService

java.lang.Object
  extended bywt.fc.WTObject
      extended bywt.fc.Item
          extended bywt.federation.FederatedInfoEngineService
All Implemented Interfaces:
AccessControlled, DisplayIdentification, DomainAdministered, Externalizable, FederatedService, NetFactor, ObjectMappable, Persistable, RemoteAccess, Serializable

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
private  Hashtable actionTable
           
private static String CLASSNAME
           
private static int defaultObjectCacheSize
           
private static long defaultObjectCacheTTL
           
private static long defaultProxyExpirationInterval
           
private static long defaultProxyRefreshInterval
           
static long EXTERNALIZATION_VERSION_UID
           
private static String FC_RESOURCE
           
private  Hashtable navigationSupported
           
static String OBJECT_CACHE_SIZE
          Label for the attribute.
static String OBJECT_CACHE_TTL
          Label for the attribute.
private static Hashtable objectCache
           
private  int objectCacheSize
           
private  long objectCacheTTL
           
protected static long OLD_FORMAT_VERSION_UID
           
private  long proxyExpirationInterval
           
private  long proxyRefreshInterval
           
private  Hashtable queriesSupported
           
static String QUERY_SPEC_TRANSLATOR
          Label for the attribute.
private static int QUERY_SPEC_TRANSLATOR_UPPER_LIMIT
           
private  String querySpecTranslator
           
private static String RESOURCE
           
(package private) static long serialVersionUID
           
(package private) static boolean SERVER
           
private  String serviceName
           
private  String serviceURL
           
private  boolean tightlyCoupled
           
static String TRANSLATION_TABLE_NAME
          Label for the attribute.
private static int TRANSLATION_TABLE_NAME_UPPER_LIMIT
           
private  InfoEngineTranslationTable translationTable
           
private  String translationTableName
           
private  QuerySpecTranslator translator
           
private static String urlSpecials
           
private static boolean VERBOSE
           
 
Fields inherited from class wt.fc.Item
VERSION_40_UID, VERSION_51_UID
 
Fields inherited from class wt.fc.WTObject
CREATE_TIMESTAMP, MODIFY_TIMESTAMP
 
Fields inherited from interface wt.method.RemoteAccess
versionID
 
Fields inherited from interface wt.federation.FederatedService
ACTION_TABLE, FIND_ASSOCIATIONS_BY_CRITERIA, FIND_ASSOCIATIONS_BY_LINK_CLASS, FIND_OBJECTS, PROXY_EXPIRATION_INTERVAL, PROXY_REFRESH_INTERVAL, RETRIEVE_CONTENTLIST, RETRIEVE_MASTER, RETRIEVE_OBJECT, SERVICE_NAME, SERVICE_URL, TIGHTLY_COUPLED
 
Fields inherited from interface wt.admin.DomainAdministered
DOMAIN_REF, INHERITED_DOMAIN
 
Fields inherited from interface wt.fc.Persistable
IDENTITY, PERSIST_INFO, TYPE
 
Fields inherited from interface wt.identity.DisplayIdentification
DISPLAY_IDENTIFIER, DISPLAY_IDENTITY, DISPLAY_TYPE
 
Constructor Summary
FederatedInfoEngineService()
           
 
Method Summary
protected  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.
protected  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.
protected  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.
protected  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.
protected  void _refreshRemoteObject(Federated proxy)
          Refreshes the derived properties of a specified proxy object.
protected  Hashtable _retrieveRemoteAttributes(String sourceObjectId)
          Return a Java Hashtable object containing all of the attributes read from the specified remote object.
protected  Vector _retrieveRemoteContentList(String sourceObjectId)
          Return a Java Vector object containing all of the content items linked to the specified remote object.
protected  Object _retrieveRemoteObject(String sourceObjectId)
          Returns a Federated instance of the remote object identified by the specified relative URL.
 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.
 boolean equals(Object obj)
          Indicates whether the given object is equal to this object from a persistence perspective, by comparing the two objects ObjectIdentifiers.
 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.
 Hashtable getActionTable()
          Gets the value of the attribute: ACTION_TABLE.
 String getActionURL(String actionName, Hashtable arguments)
          Returns the URL associated with the specified action and set of named arguments.
 String getActionURL(String actionName, String sourceObjectId)
          Returns the URL associated with the specified action and source object identifier.
 String getActionURLTemplate(String actionName)
          Returns the URL template associated with the specified action.
 String getConceptualClassname()
          Deprecated.  
 int getObjectCacheSize()
          Gets the value of the attribute: OBJECT_CACHE_SIZE.
 long getObjectCacheTTL()
          Gets the value of the attribute: OBJECT_CACHE_TTL.
 long getProxyExpirationInterval()
          Gets the value of the attribute: PROXY_EXPIRATION_INTERVAL.
 long getProxyRefreshInterval()
          Gets the value of the attribute: PROXY_REFRESH_INTERVAL.
 String getQuerySpecTranslator()
          Gets the value of the attribute: QUERY_SPEC_TRANSLATOR.
 String getServiceName()
          Gets the value of the attribute: SERVICE_NAME.
 String getServiceURL()
          Gets the value of the attribute: SERVICE_URL.
 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.
 String getTranslationTableName()
          Gets the value of the attribute: TRANSLATION_TABLE_NAME.
private  QuerySpecTranslator getTranslator()
          Return an instance of the QuerySpec translator referenced by this Info*Engine service.
 int hashCode()
          Returns a hash code for this object based upon its ObjectIdentifier.
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)
          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.
 boolean isTightlyCoupled()
          Gets the value of the attribute: TIGHTLY_COUPLED.
 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)
          

Supported API: false
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.
private  void querySpecTranslatorValidate(String a_QuerySpecTranslator)
           
 void readExternal(ObjectInput input)
          Reads the non-transient fields of this class from an external source.
 void readExternal(PersistentRetrieveIfc input)
          Used by Persistent Data Service to populate the persistent attributes of this class from a persistent store.
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(FederatedInfoEngineService thisObject, ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source.
 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.
private  void serviceURLValidate(String a_ServiceURL)
           
 void setActionTable(Hashtable a_ActionTable)
          Sets the value of the attribute: ACTION_TABLE.
 void setActionURLTemplate(String actionName, String actionURLTemplate)
          Associates the specified URL template with the specified action.
 void setObjectCacheSize(int a_ObjectCacheSize)
          Sets the value of the attribute: OBJECT_CACHE_SIZE.
 void setObjectCacheTTL(long a_ObjectCacheTTL)
          Sets the value of the attribute: OBJECT_CACHE_TTL.
 void setProxyExpirationInterval(long a_ProxyExpirationInterval)
          Sets the value of the attribute: PROXY_EXPIRATION_INTERVAL.
 void setProxyRefreshInterval(long a_ProxyRefreshInterval)
          Sets the value of the attribute: PROXY_REFRESH_INTERVAL.
 void setQuerySpecTranslator(String a_QuerySpecTranslator)
          Sets the value of the attribute: QUERY_SPEC_TRANSLATOR.
 void setServiceName(String a_ServiceName)
          Sets the value of the attribute: SERVICE_NAME.
 void setServiceURL(String a_ServiceURL)
          Sets the value of the attribute: SERVICE_URL.
 void setTightlyCoupled(boolean a_TightlyCoupled)
          Sets the value of the attribute: TIGHTLY_COUPLED.
 void setTranslationTableName(String a_TranslationTableName)
          Sets the value of the attribute: TRANSLATION_TABLE_NAME.
private  String substituteFieldValues(String s, Persistable obj)
          Substitute the values of fields from a specified object into a specified string.
private  void translationTableNameValidate(String a_TranslationTableName)
           
 void updateObject(String sourceObjectId, Hashtable updateAttributes, Vector deleteAttributes)
          Update the attributes of a specified remote object.
private  void updateObjectCache(String url, Hashtable entry)
          Add an entry to the object cache.
 void writeExternal(ObjectOutput output)
          Writes the non-transient fields of this class to an external source.
 void writeExternal(PersistentStoreIfc output)
          Used by Persistent Data Service to obtain the values of the persistent attributes of this class, so they can be written to a persistent store.
 
Methods inherited from class wt.fc.Item
getDomainRef, isInheritedDomain, readVersion, setDomainRef, setInheritedDomain
 
Methods inherited from class wt.fc.WTObject
checkAttributes, duplicate, finalize, getClassInfo, getCreateTimestamp, getDisplayIdentifier, getDisplayIdentity, getDisplayType, getIdentity, getModifyTimestamp, getPersistInfo, getType, readVersion, setPersistInfo, toString
 
Methods inherited from class java.lang.Object
clone, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface wt.fc.NetFactor
getClassInfo
 

Field Detail

RESOURCE

private static final String RESOURCE
See Also:
Constant Field Values

CLASSNAME

private static final String CLASSNAME

QUERY_SPEC_TRANSLATOR

public static final String QUERY_SPEC_TRANSLATOR
Label for the attribute.

Supported API: false

See Also:
Constant Field Values

QUERY_SPEC_TRANSLATOR_UPPER_LIMIT

private static int QUERY_SPEC_TRANSLATOR_UPPER_LIMIT

querySpecTranslator

private String querySpecTranslator

TRANSLATION_TABLE_NAME

public static final String TRANSLATION_TABLE_NAME
Label for the attribute.

Supported API: false

See Also:
Constant Field Values

TRANSLATION_TABLE_NAME_UPPER_LIMIT

private static int TRANSLATION_TABLE_NAME_UPPER_LIMIT

translationTableName

private String translationTableName

OBJECT_CACHE_TTL

public static final String OBJECT_CACHE_TTL
Label for the attribute.

Supported API: false

See Also:
Constant Field Values

objectCacheTTL

private long objectCacheTTL

OBJECT_CACHE_SIZE

public static final String OBJECT_CACHE_SIZE
Label for the attribute.

Supported API: false

See Also:
Constant Field Values

objectCacheSize

private int objectCacheSize

SERVER

static final boolean SERVER

FC_RESOURCE

private static final String FC_RESOURCE
See Also:
Constant Field Values

serviceName

private String serviceName

serviceURL

private String serviceURL

actionTable

private Hashtable actionTable

proxyRefreshInterval

private long proxyRefreshInterval

proxyExpirationInterval

private long proxyExpirationInterval

tightlyCoupled

private boolean tightlyCoupled

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

urlSpecials

private static final String urlSpecials
See Also:
Constant Field Values

defaultObjectCacheSize

private static int defaultObjectCacheSize

defaultObjectCacheTTL

private static long defaultObjectCacheTTL

defaultProxyExpirationInterval

private static long defaultProxyExpirationInterval

defaultProxyRefreshInterval

private static long defaultProxyRefreshInterval

navigationSupported

private Hashtable navigationSupported

objectCache

private static Hashtable objectCache

queriesSupported

private Hashtable queriesSupported

translationTable

private InfoEngineTranslationTable translationTable

translator

private QuerySpecTranslator translator

VERBOSE

private static boolean VERBOSE
Constructor Detail

FederatedInfoEngineService

public FederatedInfoEngineService()
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
Overrides:
writeExternal in class Item
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
Overrides:
readExternal in class Item
Parameters:
input -
Throws:
IOException
ClassNotFoundException

readVersion

protected boolean readVersion(FederatedInfoEngineService 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

writeExternal

public void writeExternal(PersistentStoreIfc output)
                   throws SQLException,
                          DatastoreException
Used by Persistent Data Service to obtain the values of the persistent attributes of this class, so they can be written to a persistent store.

(Not intended for general use.)

Supported API: false

Specified by:
writeExternal in interface ObjectMappable
Overrides:
writeExternal in class Item
Parameters:
output -
Throws:
SQLException
DatastoreException

readExternal

public void readExternal(PersistentRetrieveIfc input)
                  throws SQLException,
                         DatastoreException
Used by Persistent Data Service to populate the persistent attributes of this class from a persistent store.

(Not intended for general use.)

Supported API: false

Specified by:
readExternal in interface ObjectMappable
Overrides:
readExternal in class Item
Parameters:
input -
Throws:
SQLException
DatastoreException

getConceptualClassname

public String getConceptualClassname()
Deprecated.  

Returns the conceptual (modeled) name for the class.

Supported API: false

Specified by:
getConceptualClassname in interface NetFactor
Returns:
String

getQuerySpecTranslator

public String getQuerySpecTranslator()
Gets the value of the attribute: QUERY_SPEC_TRANSLATOR.

Supported API: false

Returns:
String

setQuerySpecTranslator

public void setQuerySpecTranslator(String a_QuerySpecTranslator)
                            throws WTPropertyVetoException
Sets the value of the attribute: QUERY_SPEC_TRANSLATOR.

Supported API: false

Parameters:
a_QuerySpecTranslator -
Throws:
WTPropertyVetoException

querySpecTranslatorValidate

private void querySpecTranslatorValidate(String a_QuerySpecTranslator)
                                  throws WTPropertyVetoException
Parameters:
a_QuerySpecTranslator -
Throws:
WTPropertyVetoException

getTranslationTableName

public String getTranslationTableName()
Gets the value of the attribute: TRANSLATION_TABLE_NAME.

Supported API: false

Returns:
String

setTranslationTableName

public void setTranslationTableName(String a_TranslationTableName)
                             throws WTPropertyVetoException
Sets the value of the attribute: TRANSLATION_TABLE_NAME.

Supported API: false

Parameters:
a_TranslationTableName -
Throws:
WTPropertyVetoException

translationTableNameValidate

private void translationTableNameValidate(String a_TranslationTableName)
                                   throws WTPropertyVetoException
Parameters:
a_TranslationTableName -
Throws:
WTPropertyVetoException

getObjectCacheTTL

public long getObjectCacheTTL()
Gets the value of the attribute: OBJECT_CACHE_TTL.

Supported API: false

Returns:
long

setObjectCacheTTL

public void setObjectCacheTTL(long a_ObjectCacheTTL)
                       throws WTPropertyVetoException
Sets the value of the attribute: OBJECT_CACHE_TTL.

Supported API: false

Parameters:
a_ObjectCacheTTL -
Throws:
WTPropertyVetoException

getObjectCacheSize

public int getObjectCacheSize()
Gets the value of the attribute: OBJECT_CACHE_SIZE.

Supported API: false

Returns:
int

setObjectCacheSize

public void setObjectCacheSize(int a_ObjectCacheSize)
                        throws WTPropertyVetoException
Sets the value of the attribute: OBJECT_CACHE_SIZE.

Supported API: false

Parameters:
a_ObjectCacheSize -
Throws:
WTPropertyVetoException

newFederatedInfoEngineService

public static FederatedInfoEngineService newFederatedInfoEngineService(String serviceName,
                                                                       String serviceURL,
                                                                       String translationTableName,
                                                                       String querySpecTranslator)
                                                                throws 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:
FederationServicesException

initialize

protected void initialize(String serviceName,
                          String serviceURL,
                          String translationTableName,
                          String querySpecTranslator)
                   throws 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:
FederationServicesException

newFederatedInfoEngineService

public static FederatedInfoEngineService newFederatedInfoEngineService(String serviceName,
                                                                       String serviceURL,
                                                                       String translationTableName)
                                                                throws WTException


Supported API: false

Parameters:
serviceName -
serviceURL -
translationTableName -
Returns:
FederatedInfoEngineService
Throws:
WTException

initialize

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

Supported API: false

Parameters:
serviceName -
serviceURL -
translationTableName -
Throws:
WTException

newFederatedInfoEngineService

public static FederatedInfoEngineService newFederatedInfoEngineService(String serviceName)
                                                                throws 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:
FederationServicesException

initialize

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

Supported API: true

Parameters:
serviceName -
Throws:
FederationServicesException

newFederatedInfoEngineService

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

Supported API: true

Returns:
FederatedInfoEngineService
Throws:
FederationServicesException

retrieveRemoteObject

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

Supported API: true

Parameters:
sourceObjectId -
Returns:
Object
Throws:
FederationServicesException
WTException

_retrieveRemoteObject

protected Object _retrieveRemoteObject(String sourceObjectId)
                                throws FederationServicesException,
                                       WTException
Returns a Federated instance of the remote object identified by the specified relative URL.

Supported API: true

Parameters:
sourceObjectId -
Returns:
Object
Throws:
FederationServicesException
WTException

refreshRemoteObject

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

Supported API: true

Parameters:
proxy -
Throws:
FederationServicesException
WTException

_refreshRemoteObject

protected void _refreshRemoteObject(Federated proxy)
                             throws FederationServicesException,
                                    WTException
Refreshes the derived properties of a specified proxy object.

Supported API: true

Parameters:
proxy -
Throws:
FederationServicesException
WTException

retrieveRemoteAttributes

public Hashtable retrieveRemoteAttributes(String sourceObjectId)
                                   throws 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:
FederationServicesException
WTException

_retrieveRemoteAttributes

protected Hashtable _retrieveRemoteAttributes(String sourceObjectId)
                                       throws 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:
FederationServicesException
WTException

findRemoteObjects

public QueryResult findRemoteObjects(String filterName,
                                     Hashtable filterArguments)
                              throws 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:
FederationServicesException
WTException

_findRemoteObjects

protected QueryResult _findRemoteObjects(String filterName,
                                         Hashtable filterArguments)
                                  throws 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:
FederationServicesException
WTException

findRemoteObjects

public QueryResult findRemoteObjects(String url)
                              throws 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:
FederationServicesException
WTException

_findRemoteObjects

protected QueryResult _findRemoteObjects(String url)
                                  throws 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:
FederationServicesException
WTException

findRemoteAssociations

public QueryResult findRemoteAssociations(String filterName,
                                          Hashtable filterArguments,
                                          Class linkClass,
                                          String role)
                                   throws 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:
FederationServicesException
WTException

_findRemoteAssociations

protected QueryResult _findRemoteAssociations(String filterName,
                                              Hashtable filterArguments,
                                              Class linkClass,
                                              String role)
                                       throws 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:
FederationServicesException
WTException

findRemoteAssociations

public QueryResult findRemoteAssociations(String url,
                                          Class linkClass,
                                          String role)
                                   throws 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:
FederationServicesException
WTException

_findRemoteAssociations

protected QueryResult _findRemoteAssociations(String url,
                                              Class linkClass,
                                              String role)
                                       throws 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:
FederationServicesException
WTException

getTranslationTable

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

Supported API: true

Returns:
InfoEngineTranslationTable
Throws:
FederationServicesException

retrieveRemoteContentList

public Vector retrieveRemoteContentList(String sourceObjectId)
                                 throws 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:
FederationServicesException
WTException

_retrieveRemoteContentList

protected Vector _retrieveRemoteContentList(String sourceObjectId)
                                     throws 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:
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 -

getServiceURL

public String getServiceURL()
Gets the value of the attribute: SERVICE_URL.

Supported API: false

Specified by:
getServiceURL in interface FederatedService
Returns:
String

setServiceURL

public void setServiceURL(String a_ServiceURL)
                   throws WTPropertyVetoException
Sets the value of the attribute: SERVICE_URL.

Supported API: false

Specified by:
setServiceURL in interface FederatedService
Parameters:
a_ServiceURL -
Throws:
WTPropertyVetoException

serviceURLValidate

private void serviceURLValidate(String a_ServiceURL)
                         throws WTPropertyVetoException
Parameters:
a_ServiceURL -
Throws:
WTPropertyVetoException

getActionTable

public Hashtable getActionTable()
Gets the value of the attribute: ACTION_TABLE.

Supported API: false

Specified by:
getActionTable in interface FederatedService
Returns:
Hashtable

setActionTable

public void setActionTable(Hashtable a_ActionTable)
                    throws WTPropertyVetoException
Sets the value of the attribute: ACTION_TABLE.

Supported API: false

Specified by:
setActionTable in interface FederatedService
Parameters:
a_ActionTable -
Throws:
WTPropertyVetoException

getProxyRefreshInterval

public long getProxyRefreshInterval()
Gets the value of the attribute: PROXY_REFRESH_INTERVAL.

Supported API: false

Specified by:
getProxyRefreshInterval in interface FederatedService
Returns:
long

setProxyRefreshInterval

public void setProxyRefreshInterval(long a_ProxyRefreshInterval)
                             throws WTPropertyVetoException
Sets the value of the attribute: PROXY_REFRESH_INTERVAL.

Supported API: false

Specified by:
setProxyRefreshInterval in interface FederatedService
Parameters:
a_ProxyRefreshInterval -
Throws:
WTPropertyVetoException

getProxyExpirationInterval

public long getProxyExpirationInterval()
Gets the value of the attribute: PROXY_EXPIRATION_INTERVAL.

Supported API: false

Specified by:
getProxyExpirationInterval in interface FederatedService
Returns:
long

setProxyExpirationInterval

public void setProxyExpirationInterval(long a_ProxyExpirationInterval)
                                throws WTPropertyVetoException
Sets the value of the attribute: PROXY_EXPIRATION_INTERVAL.

Supported API: false

Specified by:
setProxyExpirationInterval in interface FederatedService
Parameters:
a_ProxyExpirationInterval -
Throws:
WTPropertyVetoException

isTightlyCoupled

public boolean isTightlyCoupled()
Gets the value of the attribute: TIGHTLY_COUPLED.

Supported API: false

Specified by:
isTightlyCoupled in interface FederatedService
Returns:
boolean

setTightlyCoupled

public void setTightlyCoupled(boolean a_TightlyCoupled)
                       throws WTPropertyVetoException
Sets the value of the attribute: TIGHTLY_COUPLED.

Supported API: false

Specified by:
setTightlyCoupled in interface FederatedService
Parameters:
a_TightlyCoupled -
Throws:
WTPropertyVetoException

getActionURL

public String getActionURL(String actionName,
                           String sourceObjectId)
                    throws FederationServicesException
Returns the URL associated with the specified action and source object identifier.

Supported API: false

Specified by:
getActionURL in interface FederatedService
Parameters:
actionName -
sourceObjectId -
Returns:
String
Throws:
FederationServicesException

getActionURL

public String getActionURL(String actionName,
                           Hashtable arguments)
                    throws 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:
FederationServicesException

getActionURLTemplate

public String getActionURLTemplate(String actionName)
Returns the URL template associated with the specified action.

Supported API: false

Specified by:
getActionURLTemplate in interface FederatedService
Parameters:
actionName -
Returns:
String

setActionURLTemplate

public void setActionURLTemplate(String actionName,
                                 String actionURLTemplate)
Associates the specified URL template with the specified action.

Supported API: false

Specified by:
setActionURLTemplate in interface FederatedService
Parameters:
actionName -
actionURLTemplate -

retrieveObject

public Object retrieveObject(String sourceObjectId)
                      throws 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:
FederationServicesException

retrieveAttributes

public Hashtable retrieveAttributes(String sourceObjectId)
                             throws FederationServicesException


Supported API: true

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

refreshObject

public void refreshObject(Federated proxy)
                   throws 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:
FederationServicesException

createObject

public Object createObject(Class objectClass,
                           String sourceObjectId,
                           Hashtable attributes)
                    throws 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:
FederationServicesException

updateObject

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

Supported API: true

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

deleteObject

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

Supported API: true

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

findObjects

public QueryResult findObjects(QuerySpec criteria)
                        throws 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:
FederationServicesException

findObjects

public QueryResult findObjects(Class targetLinkClass,
                               Persistable obj1,
                               String obj1Role,
                               Persistable obj2)
                        throws 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:
FederationServicesException

navigate

public QueryResult navigate(Persistable obj,
                            String role,
                            Class linkClass,
                            boolean onlyOtherSide)
                     throws 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:
FederationServicesException

navigate

public QueryResult navigate(Persistable obj,
                            String role,
                            QuerySpec criteria,
                            boolean onlyOtherSide)
                     throws 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:
FederationServicesException

getSupportedObjectClasses

public Enumeration getSupportedObjectClasses()
                                      throws 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:
FederationServicesException

getSupportedLinkClasses

public Enumeration getSupportedLinkClasses()
                                    throws 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:
FederationServicesException

isQuerySupported

public boolean isQuerySupported(Class objectClass)
                         throws 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:
FederationServicesException

isNavigationSupported

public boolean isNavigationSupported(Class linkClass)
                              throws 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:
FederationServicesException

purgeCaches

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

Supported API: true

Specified by:
purgeCaches in interface FederatedService
Throws:
FederationServicesException

equals

public boolean equals(Object obj)
Indicates whether the given object is equal to this object from a persistence perspective, by comparing the two objects ObjectIdentifiers. Changed or stale copies are still considered equal by this method. Delegates to PersistenceHelper.equals(Persistable,Object).

Warning: Certain core Windchill operations may depend upon equals being ObjectIdentifier-based. Changes to the default implementation should be done with care, if at all.

Supported API: false

Overrides:
equals in class Item
Parameters:
obj -
Returns:
boolean

hashCode

public int hashCode()
Returns a hash code for this object based upon its ObjectIdentifier. Delegates to PersistenceHelper.hashCode(Persistable).

Warning: Certain core Windchill operations may depend upon hashCode being ObjectIdentifier-based. Changes to the default implementation should be done with care, if at all.

Supported API: false

Overrides:
hashCode in class Item
Returns:
int

initialize

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

Supported API: true

Overrides:
initialize in class Item
Throws:
FederationServicesException

getTranslator

private QuerySpecTranslator getTranslator()
                                   throws FederationServicesException
Return an instance of the QuerySpec translator referenced by this Info*Engine service.

Returns:
QuerySpecTranslator
Throws:
FederationServicesException

substituteFieldValues

private String substituteFieldValues(String s,
                                     Persistable obj)
                              throws FederationServicesException
Substitute the values of fields from a specified object into a specified string. Substitutions are made wherever substrings of the form "%{fieldName}" are found.

Parameters:
s - String in which to substitute field values
obj - the object supplying field values
Returns:
String the resulting string, with substitutions made
Throws:
FederationServicesException

updateObjectCache

private void updateObjectCache(String url,
                               Hashtable entry)
Add an entry to the object cache.

Parameters:
url - unique key under which to add the entry
entry - attribute table representing object to add