HiRISE

HiRISE.HiCat.HiTList
Class SecondHalfStereoList

java.lang.Object
  extended by HiRISE.HiCat.HiTList.TargetList
      extended by HiRISE.HiCat.HiTList.SecondHalfStereoList
All Implemented Interfaces:
SearchInterface, ItemListener, PropertyChangeListener, EventListener, ChangeListener, ListSelectionListener

public class SecondHalfStereoList
extends TargetList
implements SearchInterface

This class implements the SearchInterface to generate the "Second Half Stereo" list. Targets that are retrieved from the database using this class are restricted to being "Second Half" stereos. In this context, a second half stereo target is the second half of a pair of observations to be planned. In general, the higher valued suggestion id of the pair is usually the second half id, however, this is not a firm restriction. If either id in a stereo pair of suggestions has been retired, the id that has not been retired will be selected as the second half id, regardless of the ordering.

Version:
1.6
Author:
Rodney Heyd

Nested Class Summary
 
Nested classes/interfaces inherited from class HiRISE.HiCat.HiTList.TargetList
TargetList.ColumnComparatorSettings, TargetList.ConfigurationParameter, TargetList.ListTypes, TargetList.OrderingFields, TargetList.TableAliases
 
Field Summary
static int DEFAULT_MAX_DATA_VOLUME_BYTES_THRESHOLD
           
static double DEFAULT_STEREO2_LSUBS_RANGE
          The default seasonal range for stereo 2's.
static String ID
          Class identifier
 
Fields inherited from class HiRISE.HiCat.HiTList.TargetList
DEBUG_EVENTS_PROPERTY, DEBUG_INIT_PROPERTY, DEBUG_LSUBS_FILTER_PROPERTY, DEBUG_NEARBY_LIST_PROPERTY, DEBUG_PRIORITIES_PROPERT, DEBUG_QUERY_PROPERTY, DEBUG_RED9_SHIFTS_PROPERTY, DEBUG_SEASONAL_PROPERTY, DEFAULT_CONFIGURATION_FILE, DEFAULT_MAXIMUM_LATITUDE, DEFAULT_MAXIMUM_LONGITUDE, DEFAULT_MAXIMUM_LSUBS, DEFAULT_MINIMUM_LATITUDE, DEFAULT_MINIMUM_LONGITUDE, DEFAULT_MINIMUM_LSUBS, DEFAULT_ROW_LIMIT
 
Fields inherited from interface HiRISE.HiCat.HiTList.SearchInterface
IGNORE_FILTER_UPDATES_NAME, MAX_LATITUDE_FIELDNAME, MAX_LONG_FIELDNAME, MAX_LSUBS_FIELDNAME, MIN_LATITUDE_FIELDNAME, MIN_LONG_FIELDNAME, MIN_LSUBS_FIELDNAME, PRIORITY_LISTNAME, ROW_LIMIT_ENABLENAME, ROW_LIMIT_FIELDNAME, SCIENCE_THEME_LISTNAME, SPECIAL_TARGETS_ADDED_PROPERTY, SPECIAL_TARGETS_REMOVED_PROPERTY, THEME_COUNT_FIELDNAME
 
Constructor Summary
SecondHalfStereoList()
           
SecondHalfStereoList(Configuration configuration)
           
SecondHalfStereoList(String config_file)
           
 
Method Summary
 Vector<Integer> addedSuggestionsNotFound()
          If any of the suggestions ID's found in the list passed to the SearchInterface.addSuggestions(Vector) were not found, they will be in the Vector of Integers returned by this method.
 String constructSearchQuery()
          Constructs the base search query specific to the list being generated.
 String constructSecondaryQuery()
          Constructs the secondary query that will query for special target requests to add to the search list.
 Vector<Vector<String>> executeAddedSuggestionsSearch(Vector<Vector<String>> dataTable)
          This method executes a secondary database search for special targets.
 Vector<Vector<String>> executeSearch()
          A method executing a database search for suggested targets, and will usually execure the query returned by the SearchInterface.constructSearchQuery() method.
static void main(String[] args)
           
 TargetList.ListTypes precedence()
          The precedence value for the list.
 Vector<Vector<String>> updateAddedSuggestions(Vector<Vector<String>> dataTable)
          Update the input dataTable with additional targets.
 void useEmailQuery(boolean setemail)
           
 
Methods inherited from class HiRISE.HiCat.HiTList.TargetList
addNearbyObservationsColumn, addSeasonalColumn, addSuggestions, applyScienceThemeCountRestrictions, enableRowLimits, exportSelectedPriorites, findMissingSuggestions, getAddedSuggestions, getAddedSuggestionsSQL, getColumnNames, getColumnOrderingSQL, getCoordinateRestrictionsSQL, getDatabase, getLsubSRestrictionsSQL, getMaximumLatitude, getMaximumLongitude, getMaximumLs, getMinimumLatitude, getMinimumLongitude, getMinimumLs, getMissingSuggestionWarnings, getPrioritySQL, getRetrieveNearestNeighborList, getRowLimit, getScienceThemesList, getScienceThemesRestricionsSQL, getSeasonalData, getSelectedPriorities, getSelectedScienceThemes, getSuggestionData, getSuggestionsPerThemeLimit, hasRowLimitsEnabled, initializeScienceThemesList, initOrderingSettings, initPriorities, isInList, itemStateChanged, prepareDbQueries, propertyChange, setColumnNames, setConfiguration, setListType, setMaximumLatitude, setMaximumLongitude, setMaximumLs, setMinimumLatitude, setMinimumLongitude, setMinimumLs, setPriorities, setRetrieveNearestNeighborList, setRowLimit, setScienceThemes, setSuggestionsPerThemeLimit, setTabConfig, stateChanged, valueChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface HiRISE.HiCat.HiTList.SearchInterface
addSuggestions, enableRowLimits, getAddedSuggestions, getMaximumLatitude, getMaximumLongitude, getMaximumLs, getMinimumLatitude, getMinimumLongitude, getMinimumLs, getRetrieveNearestNeighborList, getRowLimit, getSelectedPriorities, getSelectedScienceThemes, getSuggestionsPerThemeLimit, hasRowLimitsEnabled, initOrderingSettings, setMaximumLatitude, setMaximumLongitude, setMaximumLs, setMinimumLatitude, setMinimumLongitude, setMinimumLs, setPriorities, setRetrieveNearestNeighborList, setRowLimit, setScienceThemes, setSuggestionsPerThemeLimit
 

Field Detail

ID

public static final String ID
Class identifier

See Also:
Constant Field Values

DEFAULT_STEREO2_LSUBS_RANGE

public static final double DEFAULT_STEREO2_LSUBS_RANGE
The default seasonal range for stereo 2's. The actual range is centered around the first half seasonal range plus or minus this value.

See Also:
Constant Field Values

DEFAULT_MAX_DATA_VOLUME_BYTES_THRESHOLD

public static final int DEFAULT_MAX_DATA_VOLUME_BYTES_THRESHOLD
See Also:
Constant Field Values
Constructor Detail

SecondHalfStereoList

public SecondHalfStereoList()
                     throws Configuration_Exception,
                            Database_Exception
Throws:
Configuration_Exception
Database_Exception

SecondHalfStereoList

public SecondHalfStereoList(String config_file)
                     throws Configuration_Exception,
                            Database_Exception
Throws:
Configuration_Exception
Database_Exception

SecondHalfStereoList

public SecondHalfStereoList(Configuration configuration)
                     throws Configuration_Exception,
                            Database_Exception
Throws:
Configuration_Exception
Database_Exception
Method Detail

precedence

public TargetList.ListTypes precedence()
Description copied from class: TargetList
The precedence value for the list. This value determines which list a given suggestion will be pulled from if it is in more than one list simultaneously. Targets in a lists with a lower precendence value will be included in favor of the duplicate id in a list with a higher precedence value.

Specified by:
precedence in class TargetList
Returns:
the ListPrecedunce enum value for the list.
See Also:
TargetList.ListTypes

constructSearchQuery

public String constructSearchQuery()
Description copied from interface: SearchInterface
Constructs the base search query specific to the list being generated.

Note: Many of the setters defined in this search interface are search criteria that are used to construct this query.

Specified by:
constructSearchQuery in interface SearchInterface
Specified by:
constructSearchQuery in class TargetList
Returns:
An SQL search query string
See Also:
SearchInterface.setMinimumLongitude(double), SearchInterface.setMaximumLongitude(double), SearchInterface.setMinimumLatitude(double), SearchInterface.setMaximumLatitude(double), SearchInterface.setMinimumLs(double), SearchInterface.setMaximumLs(double), SearchInterface.setPriorities(Vector), SearchInterface.setScienceThemes(Vector), SearchInterface.setSuggestionsPerThemeLimit(int), SearchInterface.enableRowLimits(boolean), SearchInterface.setRowLimit(int), SearchInterface.setRetrieveNearestNeighborList(boolean)

constructSecondaryQuery

public String constructSecondaryQuery()
Description copied from interface: SearchInterface
Constructs the secondary query that will query for special target requests to add to the search list. This query is similar to the primary search query, however, all of the various restrictions on location, season, priority, theme, etc are ignored.

Specified by:
constructSecondaryQuery in interface SearchInterface
Specified by:
constructSecondaryQuery in class TargetList
Returns:
An SQL search query string

executeSearch

public Vector<Vector<String>> executeSearch()
                                     throws Database_Exception
Description copied from interface: SearchInterface
A method executing a database search for suggested targets, and will usually execure the query returned by the SearchInterface.constructSearchQuery() method. Note that many of the getter and setters defined as part of the search interface are used as parameters to define the search criteria

Specified by:
executeSearch in interface SearchInterface
Specified by:
executeSearch in class TargetList
Returns:
A vector of vector strings representing the data table.
Throws:
Database_Exception - if an error occurs during query execution

executeAddedSuggestionsSearch

public Vector<Vector<String>> executeAddedSuggestionsSearch(Vector<Vector<String>> dataTable)
                                                     throws Database_Exception
Description copied from interface: SearchInterface
This method executes a secondary database search for special targets. This method will generally use the same base query and restrictions for a given target list type, however any seasonal, coordinate, theme, or priority constraints will be ignored. For example, an added suggestion that is a stereo still won't appear in a non-stereo list, however a added stereo suggestion with seasonal constraints outside the bounds of the settings in the GUI will still appear in the final list.

Specified by:
executeAddedSuggestionsSearch in interface SearchInterface
Parameters:
dataTable - - the dataTable to add the suggestion records to
Returns:
the list of added suggestions applicable for the current list type.
Throws:
Database_Exception

updateAddedSuggestions

public Vector<Vector<String>> updateAddedSuggestions(Vector<Vector<String>> dataTable)
                                              throws Database_Exception
Description copied from interface: SearchInterface
Update the input dataTable with additional targets.

Specified by:
updateAddedSuggestions in interface SearchInterface
Parameters:
dataTable - - the dataTable to update
Returns:
the updated dataTable
Throws:
Database_Exception - if an error occurs during the database interaction

addedSuggestionsNotFound

public Vector<Integer> addedSuggestionsNotFound()
Description copied from interface: SearchInterface
If any of the suggestions ID's found in the list passed to the SearchInterface.addSuggestions(Vector) were not found, they will be in the Vector of Integers returned by this method.

Specified by:
addedSuggestionsNotFound in interface SearchInterface
Specified by:
addedSuggestionsNotFound in class TargetList
Returns:
A Vector of Integers found in the SearchInterface.addSuggestions(Vector) list that weren't included in the final list.
See Also:
SearchInterface.addSuggestions(Vector)

useEmailQuery

public void useEmailQuery(boolean setemail)

main

public static void main(String[] args)
Parameters:
args -

HiRISE

Copyright (C) Arizona Board of Regents on behalf of the Planetary Image Research Laboratory, Lunar and Planetary Laboratory at the University of Arizona