java.lang.Object
com.k_int.z3950.IRClient.Z3950Origin
- All Implemented Interfaces:
- com.k_int.z3950.util.APDUListener, java.util.EventListener, com.k_int.IR.Scanable, com.k_int.IR.Searchable
- public class Z3950Origin
- extends java.lang.Object
- implements com.k_int.z3950.util.APDUListener, com.k_int.IR.Searchable, com.k_int.IR.Scanable
|
Method Summary |
void |
asyncFetchRecords(java.lang.String task_id,
com.k_int.IR.RecordFormatSpecification spec,
int start,
int count,
ZCallbackTarget callback)
Send a present response with a registered callback target. |
private void |
checkConnection()
|
com.k_int.IR.SearchTask |
createTask(com.k_int.IR.IRQuery q,
java.lang.Object user_data)
createTask : Create a Z39.50 Search Task. |
com.k_int.IR.SearchTask |
createTask(com.k_int.IR.IRQuery q,
java.lang.Object user_info,
java.util.Observer[] observers)
createTask : Create a Z39.50 Search Task. |
void |
destroy()
destroy : Clean up the object and stop any active tasks. |
com.k_int.IR.ScanInformation |
doScan(com.k_int.IR.ScanRequestInfo req)
doScan MUST return a vector of TermInformation |
void |
evaluateTask(com.k_int.IR.SearchTask st,
int wait_for)
evaluateTask. |
com.k_int.gen.Z39_50_APDU_1995.PresentResponse_type |
fetchRecords(java.lang.String task_id,
com.k_int.IR.RecordFormatSpecification spec,
int start,
int count,
int wait_for)
|
protected void |
finalize()
Finalizer |
java.lang.String |
getCharset()
|
private java.lang.String |
getDefaultRecordSyntax()
|
int |
getManagerType()
getManagerType : Inherited method, Z39.50 searchables deal with a specific data source. |
java.lang.String |
getTargetDN()
|
java.lang.String |
getTargetName()
|
private void |
handleRecords(Z3950SearchTask tsk,
com.k_int.gen.Z39_50_APDU_1995.Records_type r)
|
void |
incomingAccessControlRequest(com.k_int.z3950.util.APDUEvent e)
|
void |
incomingAccessControlResponse(com.k_int.z3950.util.APDUEvent e)
|
void |
incomingAPDU(com.k_int.z3950.util.APDUEvent e)
|
void |
incomingClose(com.k_int.z3950.util.APDUEvent e)
|
void |
incomingDeleteResultSetResponse(com.k_int.z3950.util.APDUEvent e)
|
void |
incomingExtendedServicesRequest(com.k_int.z3950.util.APDUEvent e)
|
void |
incomingExtendedServicesResponse(com.k_int.z3950.util.APDUEvent e)
|
void |
incomingInitResponse(com.k_int.z3950.util.APDUEvent e)
|
void |
incomingPresentResponse(com.k_int.z3950.util.APDUEvent e)
|
void |
incomingResourceControlRequest(com.k_int.z3950.util.APDUEvent e)
|
void |
incomingResourceControlResponse(com.k_int.z3950.util.APDUEvent e)
|
void |
incomingResourceReportRequest(com.k_int.z3950.util.APDUEvent e)
|
void |
incomingResourceReportResponse(com.k_int.z3950.util.APDUEvent e)
|
void |
incomingScanRequest(com.k_int.z3950.util.APDUEvent e)
|
void |
incomingScanResponse(com.k_int.z3950.util.APDUEvent e)
|
void |
incomingSearchResponse(com.k_int.z3950.util.APDUEvent e)
|
void |
incomingSegmentRequest(com.k_int.z3950.util.APDUEvent e)
|
void |
incomingSortRequest(com.k_int.z3950.util.APDUEvent e)
|
void |
incomingSortResponse(com.k_int.z3950.util.APDUEvent e)
|
void |
incomingTriggerResourceControlRequest(com.k_int.z3950.util.APDUEvent e)
|
void |
init(java.util.Properties p)
init. |
boolean |
isScanSupported()
|
private void |
sendQuery(com.k_int.IR.IRQuery q,
java.lang.Object user_info,
java.lang.String task_id,
java.lang.String refid)
evaluate a query, assume that the connection is up and running. |
private void |
sortResultSet(java.util.Vector setnames_to_sort,
java.lang.String target_set,
java.lang.String refid,
java.lang.String sort_specification)
|
java.lang.String |
toString()
Convert this Object to a human-readable String. |
properties
protected java.util.Properties properties
assoc
private com.k_int.z3950.util.ZEndpoint assoc
assoc_is_accepting_searches
private boolean assoc_is_accepting_searches
reg
private com.k_int.codec.util.OIDRegister reg
portnum
private int portnum
hostname
private java.lang.String hostname
db_names
private java.util.Vector db_names
active_searches
private java.util.Hashtable active_searches
outstanding_requests
private java.util.Hashtable outstanding_requests
ref_counter
private int ref_counter
recsyn_to_use
private java.lang.String recsyn_to_use
target_name
private java.lang.String target_name
target_id
private java.lang.String target_id
auth_type
private int auth_type
principal
private java.lang.String principal
group
private java.lang.String group
credentials
private java.lang.String credentials
charset
private java.lang.String charset
cat
private static LoggingContext cat
dbg_count
public static int dbg_count
outstanding_queries
private java.util.Vector outstanding_queries
supports_named_result_sets
private boolean supports_named_result_sets
supports_scan
private boolean supports_scan
target_has_broken_refid
private boolean target_has_broken_refid
target_supports_concurrent_operations
private boolean target_supports_concurrent_operations
last_search_refid
private java.lang.String last_search_refid
last_present_refid
private java.lang.String last_present_refid
op_count_lock
private java.lang.Object op_count_lock
outstanding_operations
private int outstanding_operations
message_adapter
private com.k_int.z3950.util.GenericEventToOriginListenerAdapter message_adapter
SERVICE_HOST_PROP
public static final java.lang.String SERVICE_HOST_PROP
- See Also:
- Constant Field Values
SERVICE_PORT_PROP
public static final java.lang.String SERVICE_PORT_PROP
- See Also:
- Constant Field Values
SERVICE_SHORT_NAME_PROP
public static final java.lang.String SERVICE_SHORT_NAME_PROP
- See Also:
- Constant Field Values
SERVICE_LONG_NAME_PROP
public static final java.lang.String SERVICE_LONG_NAME_PROP
- See Also:
- Constant Field Values
DEFAULT_RECSYN_PROP
public static final java.lang.String DEFAULT_RECSYN_PROP
- See Also:
- Constant Field Values
PREF_MSG_SIZE_PROP
public static final java.lang.String PREF_MSG_SIZE_PROP
- See Also:
- Constant Field Values
MAX_MSG_SIZE_PROP
public static final java.lang.String MAX_MSG_SIZE_PROP
- See Also:
- Constant Field Values
AUTH_TYPE_PROP
public static final java.lang.String AUTH_TYPE_PROP
- See Also:
- Constant Field Values
AUTH_PRINCIPAL_PROP
public static final java.lang.String AUTH_PRINCIPAL_PROP
- See Also:
- Constant Field Values
AUTH_GROUP_PROP
public static final java.lang.String AUTH_GROUP_PROP
- See Also:
- Constant Field Values
AUTH_CREDENTIALS_PROP
public static final java.lang.String AUTH_CREDENTIALS_PROP
- See Also:
- Constant Field Values
DEFAULT_ELEMENT_SET_PROP
public static final java.lang.String DEFAULT_ELEMENT_SET_PROP
- See Also:
- Constant Field Values
SMALL_SET_NAME_PROP
public static final java.lang.String SMALL_SET_NAME_PROP
- See Also:
- Constant Field Values
SMALL_SET_ELEMENTS_PROP
public static final java.lang.String SMALL_SET_ELEMENTS_PROP
- See Also:
- Constant Field Values
DEFAULT_PRESENT_CHUNK_SIZE
public static final java.lang.String DEFAULT_PRESENT_CHUNK_SIZE
- See Also:
- Constant Field Values
CHARSET_PROP
public static final java.lang.String CHARSET_PROP
- See Also:
- Constant Field Values
SERVICE_ID_PROP
public static final java.lang.String SERVICE_ID_PROP
- See Also:
- Constant Field Values
BROKEN_REFID_PROP
public static final java.lang.String BROKEN_REFID_PROP
- See Also:
- Constant Field Values
default_present_chunk_size
public int default_present_chunk_size
Z3950Origin
public Z3950Origin()
- Constructor
finalize
protected void finalize()
- Finalizer
init
public void init(java.util.Properties p)
- init.
Connection properties know by this object:
"ServiceHost" : Host to connect to
"ServicePort" : Port on which to connect
"service_short_name" : Short name for the target
"service_long_name", : Long name for the target
"default_record_syntax" : Default record syntax to ask for
"pref_message_size" : Pref Z39.50 Message Size
"max_message_size" : Max Z39.50 Message Size
"service_id" : String that will be used to identify this service
"service_name" : String that will be used to name this service
"broken_refid" : if "true" will work around broken refid imps.
Authentication properties
"service_auth_type" : What kind of authentication to use (0=none,1=anonymous,2=open string,3=idpass)
"service_user_principal" : username or open string
"service_user_group" : group
"service_user_credentials" : password
hints known about in IRQueries sent to this service:
"default_element_set_name" : Default Element set to use (brief records)
"full_element_set_name" : Element set name to use for full records
"small_set_setname" : Element set to use for a small result set
"record_syntax" : Default record syntax for the query.
"charset" : A special override we can use for string conversions.
hints to do with fetching records
"default_present_chunk_size" : How many records to request per chunk when we
are iterating through the result set.
- Specified by:
init in interface com.k_int.IR.Searchable
destroy
public void destroy()
- destroy : Clean up the object and stop any active tasks.
- Specified by:
destroy in interface com.k_int.IR.Searchable
getManagerType
public int getManagerType()
- getManagerType : Inherited method, Z39.50 searchables deal with a specific data source.
- Specified by:
getManagerType in interface com.k_int.IR.Searchable
createTask
public com.k_int.IR.SearchTask createTask(com.k_int.IR.IRQuery q,
java.lang.Object user_data)
- createTask : Create a Z39.50 Search Task.
- Specified by:
createTask in interface com.k_int.IR.Searchable
createTask
public com.k_int.IR.SearchTask createTask(com.k_int.IR.IRQuery q,
java.lang.Object user_info,
java.util.Observer[] observers)
- createTask : Create a Z39.50 Search Task.
- Specified by:
createTask in interface com.k_int.IR.Searchable
evaluateTask
public void evaluateTask(com.k_int.IR.SearchTask st,
int wait_for)
throws com.k_int.IR.SearchException,
com.k_int.IR.TimeoutExceededException
- evaluateTask. Just a hack for now to cater for revised Searchable/SearchTask refactoring of
createTask/evaluate. Should only be called by Z3950SearchTask.
sortResultSet
private void sortResultSet(java.util.Vector setnames_to_sort,
java.lang.String target_set,
java.lang.String refid,
java.lang.String sort_specification)
sendQuery
private void sendQuery(com.k_int.IR.IRQuery q,
java.lang.Object user_info,
java.lang.String task_id,
java.lang.String refid)
throws com.k_int.IR.SearchException,
java.io.IOException,
com.k_int.IR.InvalidQueryException
- evaluate a query, assume that the connection is up and running.
fetchRecords
public com.k_int.gen.Z39_50_APDU_1995.PresentResponse_type fetchRecords(java.lang.String task_id,
com.k_int.IR.RecordFormatSpecification spec,
int start,
int count,
int wait_for)
throws com.k_int.IR.PresentException
asyncFetchRecords
public void asyncFetchRecords(java.lang.String task_id,
com.k_int.IR.RecordFormatSpecification spec,
int start,
int count,
ZCallbackTarget callback)
- Send a present response with a registered callback target. The target must
correctly support refids in order for this to work. We send a request off and
then at some point, the caller will be notified when the work is complete. If
the assoc is shut down before the call has been completed, the caller will be
notified of the close event instead.
checkConnection
private void checkConnection()
incomingAPDU
public void incomingAPDU(com.k_int.z3950.util.APDUEvent e)
- Specified by:
incomingAPDU in interface com.k_int.z3950.util.APDUListener
incomingInitResponse
public void incomingInitResponse(com.k_int.z3950.util.APDUEvent e)
- Specified by:
incomingInitResponse in interface com.k_int.z3950.util.APDUListener
incomingSearchResponse
public void incomingSearchResponse(com.k_int.z3950.util.APDUEvent e)
- Specified by:
incomingSearchResponse in interface com.k_int.z3950.util.APDUListener
handleRecords
private void handleRecords(Z3950SearchTask tsk,
com.k_int.gen.Z39_50_APDU_1995.Records_type r)
incomingPresentResponse
public void incomingPresentResponse(com.k_int.z3950.util.APDUEvent e)
- Specified by:
incomingPresentResponse in interface com.k_int.z3950.util.APDUListener
incomingDeleteResultSetResponse
public void incomingDeleteResultSetResponse(com.k_int.z3950.util.APDUEvent e)
- Specified by:
incomingDeleteResultSetResponse in interface com.k_int.z3950.util.APDUListener
incomingAccessControlRequest
public void incomingAccessControlRequest(com.k_int.z3950.util.APDUEvent e)
- Specified by:
incomingAccessControlRequest in interface com.k_int.z3950.util.APDUListener
incomingAccessControlResponse
public void incomingAccessControlResponse(com.k_int.z3950.util.APDUEvent e)
incomingResourceControlRequest
public void incomingResourceControlRequest(com.k_int.z3950.util.APDUEvent e)
incomingResourceControlResponse
public void incomingResourceControlResponse(com.k_int.z3950.util.APDUEvent e)
- Specified by:
incomingResourceControlResponse in interface com.k_int.z3950.util.APDUListener
incomingTriggerResourceControlRequest
public void incomingTriggerResourceControlRequest(com.k_int.z3950.util.APDUEvent e)
incomingResourceReportRequest
public void incomingResourceReportRequest(com.k_int.z3950.util.APDUEvent e)
incomingResourceReportResponse
public void incomingResourceReportResponse(com.k_int.z3950.util.APDUEvent e)
- Specified by:
incomingResourceReportResponse in interface com.k_int.z3950.util.APDUListener
incomingScanRequest
public void incomingScanRequest(com.k_int.z3950.util.APDUEvent e)
incomingScanResponse
public void incomingScanResponse(com.k_int.z3950.util.APDUEvent e)
- Specified by:
incomingScanResponse in interface com.k_int.z3950.util.APDUListener
incomingSortRequest
public void incomingSortRequest(com.k_int.z3950.util.APDUEvent e)
incomingSortResponse
public void incomingSortResponse(com.k_int.z3950.util.APDUEvent e)
- Specified by:
incomingSortResponse in interface com.k_int.z3950.util.APDUListener
incomingSegmentRequest
public void incomingSegmentRequest(com.k_int.z3950.util.APDUEvent e)
incomingExtendedServicesRequest
public void incomingExtendedServicesRequest(com.k_int.z3950.util.APDUEvent e)
incomingExtendedServicesResponse
public void incomingExtendedServicesResponse(com.k_int.z3950.util.APDUEvent e)
- Specified by:
incomingExtendedServicesResponse in interface com.k_int.z3950.util.APDUListener
incomingClose
public void incomingClose(com.k_int.z3950.util.APDUEvent e)
- Specified by:
incomingClose in interface com.k_int.z3950.util.APDUListener
getDefaultRecordSyntax
private java.lang.String getDefaultRecordSyntax()
getTargetDN
public java.lang.String getTargetDN()
getTargetName
public java.lang.String getTargetName()
isScanSupported
public boolean isScanSupported()
- Specified by:
isScanSupported in interface com.k_int.IR.Scanable
doScan
public com.k_int.IR.ScanInformation doScan(com.k_int.IR.ScanRequestInfo req)
- Description copied from interface:
com.k_int.IR.Scanable
- doScan MUST return a vector of TermInformation
- Specified by:
doScan in interface com.k_int.IR.Scanable
toString
public java.lang.String toString()
- Description copied from class:
java.lang.Object
- Convert this Object to a human-readable String.
There are no limits placed on how long this String
should be or what it should contain. We suggest you
make it as intuitive as possible to be able to place
it into System.out.println() 55
and such.
It is typical, but not required, to ensure that this method
never completes abruptly with a java.lang.RuntimeException.
This method will be called when performing string
concatenation with this object. If the result is
null, string concatenation will instead
use "null".
The default implementation returns
getClass().getName() + "@" +
Integer.toHexString(hashCode()).
getCharset
public java.lang.String getCharset()