Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

com.k_int.z3950.IRClient
Class Z3950Origin  view Z3950Origin download Z3950Origin.java

java.lang.Object
  extended bycom.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


Field Summary
private  java.util.Hashtable active_searches
           
private  com.k_int.z3950.util.ZEndpoint assoc
           
private  boolean assoc_is_accepting_searches
           
static java.lang.String AUTH_CREDENTIALS_PROP
           
static java.lang.String AUTH_GROUP_PROP
           
static java.lang.String AUTH_PRINCIPAL_PROP
           
private  int auth_type
           
static java.lang.String AUTH_TYPE_PROP
           
static java.lang.String BROKEN_REFID_PROP
           
private static LoggingContext cat
           
private  java.lang.String charset
           
static java.lang.String CHARSET_PROP
           
private  java.lang.String credentials
           
private  java.util.Vector db_names
           
static int dbg_count
           
static java.lang.String DEFAULT_ELEMENT_SET_PROP
           
 int default_present_chunk_size
           
static java.lang.String DEFAULT_PRESENT_CHUNK_SIZE
           
static java.lang.String DEFAULT_RECSYN_PROP
           
private  java.lang.String group
           
private  java.lang.String hostname
           
private  java.lang.String last_present_refid
           
private  java.lang.String last_search_refid
           
static java.lang.String MAX_MSG_SIZE_PROP
           
private  com.k_int.z3950.util.GenericEventToOriginListenerAdapter message_adapter
           
private  java.lang.Object op_count_lock
           
private  int outstanding_operations
           
private  java.util.Vector outstanding_queries
           
private  java.util.Hashtable outstanding_requests
           
private  int portnum
           
static java.lang.String PREF_MSG_SIZE_PROP
           
private  java.lang.String principal
           
protected  java.util.Properties properties
           
private  java.lang.String recsyn_to_use
           
private  int ref_counter
           
private  com.k_int.codec.util.OIDRegister reg
           
static java.lang.String SERVICE_HOST_PROP
           
static java.lang.String SERVICE_ID_PROP
           
static java.lang.String SERVICE_LONG_NAME_PROP
           
static java.lang.String SERVICE_PORT_PROP
           
static java.lang.String SERVICE_SHORT_NAME_PROP
           
static java.lang.String SMALL_SET_ELEMENTS_PROP
           
static java.lang.String SMALL_SET_NAME_PROP
           
private  boolean supports_named_result_sets
           
private  boolean supports_scan
           
private  boolean target_has_broken_refid
           
private  java.lang.String target_id
           
private  java.lang.String target_name
           
private  boolean target_supports_concurrent_operations
           
 
Fields inherited from interface com.k_int.IR.Searchable
GROUP_COORDINATOR, SPECIFIC_SOURCE
 
Constructor Summary
Z3950Origin()
          Constructor
 
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.
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

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
Constructor Detail

Z3950Origin

public Z3950Origin()
Constructor

Method Detail

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()