com.raritantechnologies.xml.configuration
Class XMLSourceSearchFieldMap

java.lang.Object
  extended bycom.raritantechnologies.xml.configuration.XMLSourceSearchFieldMap
All Implemented Interfaces:
ISearchFieldMap, ISearchFieldMapFactory

public class XMLSourceSearchFieldMap
extends java.lang.Object
implements ISearchFieldMap, ISearchFieldMapFactory


Field Summary
 
Fields inherited from interface com.raritantechnologies.searchApp.ISearchFieldMap
DEFAULT_CATEGORY
 
Constructor Summary
XMLSourceSearchFieldMap()
           
 
Method Summary
 void addAbstractSearchField(AbstractSearchField asf)
           
 void addSearchFormField(java.lang.String searchFormName, SearchFormField sff)
          Called by SearchFieldMapFactory to set the field_ids for search form type (e.g.
 void addSearchFormField(java.lang.String searchFormName, java.lang.String category, SearchFormField sff)
           
 void addSearchSource(SearchSource sSource)
           
 boolean addSearchSource(java.lang.String sourceName, ISearchFieldMap sfMap)
           
 ISearchFieldMap createSearchFieldMap()
           
 java.lang.String formatField(java.lang.String fieldID, java.lang.String fieldVal)
           
 OrderedMap getAbstractFieldData(java.lang.String fieldID)
          return the AbstractSearchField data map - maps abstractVal (key) to UI name.
 AbstractSearchField getAbstractSearchField(java.lang.String ID)
           
 java.util.Iterator getAvailableSearchSources()
          returns an iterator over all sources.
 java.lang.String getCorrespondingFieldID(java.lang.String sourcename, java.lang.String sourcefld)
          the the fieldID corresponding to a searchSource name / field.
 java.lang.String[] getDisplayFormIDs(java.lang.String displayType)
          get the fields used for display type.
 java.lang.String[] getDisplayFormNames()
          get the types of display forms available.
 IDisplayFormRenderer getDisplayFormRenderer(java.lang.String displayFormName)
           
 OrderedMap getFieldData(java.lang.String[] sourceNames, java.lang.String fieldID)
          Returns a merged (union) set of field data for a set of source names.
 java.util.Iterator getFieldIDs()
          returns the list of abstract field ids from the <FieldSpecs>
 java.util.Iterator getFieldIDs(java.lang.String[] sourceNames)
          returns the union of all fieldIDs for a set of SearchSource(s)
 java.lang.String getFieldName(java.lang.String fieldID)
          Returns the field name (display name)
 java.lang.String getFieldName(java.lang.String[] sourceNames, java.lang.String fieldID)
          get the fieldname for this fieldID across all sources.
 java.lang.String getFieldType(java.lang.String fieldID)
          Returns the field type.
 java.lang.String getSearchField(java.lang.String sourceName, java.lang.String fieldID)
          Get the name of a search field for a fieldID as it is used in a specific search source.
 java.lang.String getSearchFieldList(java.lang.String[] sourceNames, java.lang.String fieldID)
          get list of search fields for a fieldID in a list of search sources.
 java.lang.String[] getSearchFields(java.lang.String sourceName, java.lang.String fieldID)
          Returns the set of search fields that map to a given fieldID for a given search source name.
 SearchFormField getSearchFormField(java.lang.String searchFormName, java.lang.String fieldID)
           
 SearchFormField getSearchFormField(java.lang.String searchFormName, java.lang.String category, java.lang.String fieldID)
           
 java.lang.String[] getSearchFormIDs(java.lang.String searchFormName)
          Return the list of fields in a Search Form of a given name.
 java.lang.String[] getSearchFormIDs(java.lang.String searchFormName, java.lang.String category)
           
 java.lang.String[] getSearchFormNames()
          returns a list of searchForms available.
 java.lang.String[] getSearchFormNames(java.lang.String category)
           
 ISearchFormRenderer getSearchFormRenderer(java.lang.String searchFormName, java.lang.String category)
          Configurable SearchForm and DisplayForm renderers
 SearchSource getSearchSource(java.lang.String sourceName)
          returns the first searchSource of this name in the map.
 SearchSource getSearchSource(java.lang.String sourceType, java.lang.String sourceName)
           
 SearchSource[] getSearchSources(java.lang.String sourceType)
          Return list of sources - for a given sourceType
 java.lang.String[] getSearchSourceTypes()
          returns a list of the SearchSource types in the SearchFieldMap
 java.util.Iterator getSourceKeywords(java.lang.String[] sourceNames)
          returns the keywords list for the specified sources.
 void setDisplayFormIDs(java.lang.String displayType, java.lang.String[] field_ids)
          Called by SearchFieldMapFactory to set the field_ids for a given display type (e.g.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.raritantechnologies.searchApp.ISearchFieldMap
addSearchFormField, addSearchFormField, addSearchSource
 
Methods inherited from interface com.raritantechnologies.searchApp.ISearchFieldMapFactory
addAbstractSearchField
 

Constructor Detail

XMLSourceSearchFieldMap

public XMLSourceSearchFieldMap()
Method Detail

createSearchFieldMap

public ISearchFieldMap createSearchFieldMap()
Specified by:
createSearchFieldMap in interface ISearchFieldMapFactory

getAbstractSearchField

public AbstractSearchField getAbstractSearchField(java.lang.String ID)
Specified by:
getAbstractSearchField in interface ISearchFieldMap

addAbstractSearchField

public void addAbstractSearchField(AbstractSearchField asf)

addSearchSource

public boolean addSearchSource(java.lang.String sourceName,
                               ISearchFieldMap sfMap)
Specified by:
addSearchSource in interface ISearchFieldMapFactory

addSearchSource

public void addSearchSource(SearchSource sSource)

getSearchSourceTypes

public java.lang.String[] getSearchSourceTypes()
Description copied from interface: ISearchFieldMap
returns a list of the SearchSource types in the SearchFieldMap

Specified by:
getSearchSourceTypes in interface ISearchFieldMap

getSearchSources

public SearchSource[] getSearchSources(java.lang.String sourceType)
Description copied from interface: ISearchFieldMap
Return list of sources - for a given sourceType

Specified by:
getSearchSources in interface ISearchFieldMap
Parameters:
sourceType - The type of SearchSource e.g. Verity, SQL, HTMLWorker, Z39.50 worker etc.
Returns:
A list of the source aliases for this type.

getSearchSource

public SearchSource getSearchSource(java.lang.String sourceType,
                                    java.lang.String sourceName)
Specified by:
getSearchSource in interface ISearchFieldMap

getSearchSource

public SearchSource getSearchSource(java.lang.String sourceName)
Description copied from interface: ISearchFieldMap
returns the first searchSource of this name in the map.

Specified by:
getSearchSource in interface ISearchFieldMap

getAvailableSearchSources

public java.util.Iterator getAvailableSearchSources()
returns an iterator over all sources. Useful for federated searches.

Specified by:
getAvailableSearchSources in interface ISearchFieldMap

getFieldIDs

public java.util.Iterator getFieldIDs()
returns the list of abstract field ids from the <FieldSpecs>

Specified by:
getFieldIDs in interface ISearchFieldMap

getFieldIDs

public java.util.Iterator getFieldIDs(java.lang.String[] sourceNames)
returns the union of all fieldIDs for a set of SearchSource(s)

Specified by:
getFieldIDs in interface ISearchFieldMap

getFieldName

public java.lang.String getFieldName(java.lang.String[] sourceNames,
                                     java.lang.String fieldID)
get the fieldname for this fieldID across all sources. if different, returns mappings to sources

Specified by:
getFieldName in interface ISearchFieldMap

getFieldType

public java.lang.String getFieldType(java.lang.String fieldID)
Returns the field type. Field type is the data type.

Specified by:
getFieldType in interface ISearchFieldMap

getFieldName

public java.lang.String getFieldName(java.lang.String fieldID)
Returns the field name (display name)

Specified by:
getFieldName in interface ISearchFieldMap

getFieldData

public OrderedMap getFieldData(java.lang.String[] sourceNames,
                               java.lang.String fieldID)
Returns a merged (union) set of field data for a set of source names. Field data is typically used for dropdown lists. Example: if source A has 1,2, and 3 and source B has 1,4 and 5 this should return 1,2,3,4,5. Many fields will not have associated data. In this case, the method will return a null pointer to indicate that field data is not applicable for this fieldID. returns an OrderedMap in which the key is the dataID and the value is the

Specified by:
getFieldData in interface ISearchFieldMap

getAbstractFieldData

public OrderedMap getAbstractFieldData(java.lang.String fieldID)
return the AbstractSearchField data map - maps abstractVal (key) to UI name.

Specified by:
getAbstractFieldData in interface ISearchFieldMap

getSearchField

public java.lang.String getSearchField(java.lang.String sourceName,
                                       java.lang.String fieldID)
Get the name of a search field for a fieldID as it is used in a specific search source.

Specified by:
getSearchField in interface ISearchFieldMap

getSearchFields

public java.lang.String[] getSearchFields(java.lang.String sourceName,
                                          java.lang.String fieldID)
Returns the set of search fields that map to a given fieldID for a given search source name. This is used in cases where an abstract fieldID maps to more than one source field.

Specified by:
getSearchFields in interface ISearchFieldMap

getSearchFieldList

public java.lang.String getSearchFieldList(java.lang.String[] sourceNames,
                                           java.lang.String fieldID)
get list of search fields for a fieldID in a list of search sources.

Specified by:
getSearchFieldList in interface ISearchFieldMap

setDisplayFormIDs

public void setDisplayFormIDs(java.lang.String displayType,
                              java.lang.String[] field_ids)
Called by SearchFieldMapFactory to set the field_ids for a given display type (e.g. "brief", "full" etc.). Display types are typically defined in configuration files.

Specified by:
setDisplayFormIDs in interface ISearchFieldMap

getDisplayFormNames

public java.lang.String[] getDisplayFormNames()
get the types of display forms available.

Specified by:
getDisplayFormNames in interface ISearchFieldMap

getDisplayFormIDs

public java.lang.String[] getDisplayFormIDs(java.lang.String displayType)
get the fields used for display type.

Specified by:
getDisplayFormIDs in interface ISearchFieldMap

addSearchFormField

public void addSearchFormField(java.lang.String searchFormName,
                               SearchFormField sff)
Called by SearchFieldMapFactory to set the field_ids for search form type (e.g. "simple", "advanced", "boolean" etc.).


addSearchFormField

public void addSearchFormField(java.lang.String searchFormName,
                               java.lang.String category,
                               SearchFormField sff)

getSearchFormNames

public java.lang.String[] getSearchFormNames()
returns a list of searchForms available.

Specified by:
getSearchFormNames in interface ISearchFieldMap

getSearchFormNames

public java.lang.String[] getSearchFormNames(java.lang.String category)
Specified by:
getSearchFormNames in interface ISearchFieldMap

getSearchFormIDs

public java.lang.String[] getSearchFormIDs(java.lang.String searchFormName)
Return the list of fields in a Search Form of a given name.

Specified by:
getSearchFormIDs in interface ISearchFieldMap

getSearchFormIDs

public java.lang.String[] getSearchFormIDs(java.lang.String searchFormName,
                                           java.lang.String category)
Specified by:
getSearchFormIDs in interface ISearchFieldMap

getSearchFormField

public SearchFormField getSearchFormField(java.lang.String searchFormName,
                                          java.lang.String fieldID)
Specified by:
getSearchFormField in interface ISearchFieldMap

getSearchFormField

public SearchFormField getSearchFormField(java.lang.String searchFormName,
                                          java.lang.String category,
                                          java.lang.String fieldID)
Specified by:
getSearchFormField in interface ISearchFieldMap

getSearchFormRenderer

public ISearchFormRenderer getSearchFormRenderer(java.lang.String searchFormName,
                                                 java.lang.String category)
Configurable SearchForm and DisplayForm renderers

Specified by:
getSearchFormRenderer in interface ISearchFieldMap

getDisplayFormRenderer

public IDisplayFormRenderer getDisplayFormRenderer(java.lang.String displayFormName)
Specified by:
getDisplayFormRenderer in interface ISearchFieldMap

getCorrespondingFieldID

public java.lang.String getCorrespondingFieldID(java.lang.String sourcename,
                                                java.lang.String sourcefld)
the the fieldID corresponding to a searchSource name / field.

Specified by:
getCorrespondingFieldID in interface ISearchFieldMap

getSourceKeywords

public java.util.Iterator getSourceKeywords(java.lang.String[] sourceNames)
returns the keywords list for the specified sources.

Specified by:
getSourceKeywords in interface ISearchFieldMap

formatField

public java.lang.String formatField(java.lang.String fieldID,
                                    java.lang.String fieldVal)
Specified by:
formatField in interface ISearchFieldMap