public abstract class PDS_Release extends java.lang.Object implements Releasable
Releasable
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ID
Class identifier
|
javax.swing.event.SwingPropertyChangeSupport |
Property_Changer |
ABSOLUTE_MAXIMUM_ORBIT, ANAGLYPH_FILE_TYPES_TABLE_PARAMETER_NAME, ANAGLYPH_GROUP, ANAGLYPH_ROOT_PARAMETER_NAME, ANAGLYPH_TABLE_PARAMETER_NAME, ANAGLYPHS, DEFAULT_CONFIGURATION_FILE_NAME, DEFAULT_MAXIMUM_ORBIT_NUMBER, DEFAULT_MINIMUM_ORBIT_NUMBER, DTM, DTM_CUMINDEX_FILE_PARAMETER_NAME, DTM_CUMINDEX_LABEL_PARAMETER_NAME, DTM_EXTRAS, DTM_EXTRAS_FILE_TYPES_TABLE_PARAMETER_NAME, DTM_EXTRAS_PRODUCTS_TABLE_PARAMETER_NAME, DTM_EXTRAS_ROOT_PARAMETER_NAME, DTM_GROUP, DTM_INDEX_FILE_PARAMETER_NAME, DTM_INDEX_LABEL_PARAMETER_NAME, DTM_PRODUCTS_TABLE_PARAMETER_NAME, DTM_ROOT_PARAMETER_NAME, EDR, EDR_CUMINDEX_FILE_PARAMETER_NAME, EDR_CUMINDEX_LABEL_PARAMETER_NAME, EDR_EXTRAS, EDR_GROUP, EDR_INDEX_FILE_PARAMETER_NAME, EDR_INDEX_LABEL_PARAMETER_NAME, EDR_PRODUCTS_TABLE_PARAMETER_NAME, EDR_ROOT_PARAMETER_NAME, EXTRAS_FILE_TYPES_TABLE_PARAMETER_NAME, EXTRAS_GROUP, EXTRAS_PRODUCTS_TABLE_PARAMETER_NAME, EXTRAS_ROOT_PARAMETER_NAME, HIVOLUME_GROUP, INDEX_TABLE_UPDATE_PROPERTY_NAME, MAX_VERSION_ID_ALIAS, MAXIMUM_UPDATES_BEFORE_COMMIT, PDS_ANAGLYPH_ROOT_PARAMETER_NAME, PDS_DTM_EXTRAS_ROOT_PARAMETER_NAME, PDS_DTM_ROOT_PARAMETER_NAME, PDS_EDR_ROOT_PARAMETER_NAME, PDS_EXTRAS_ROOT_PARAMETER_NAME, PDS_RDR_ROOT_PARAMETER_NAME, PREPARE_STATUS_PROPERTY_NAME, PREPARE_STATUS_ROW_PROPERTY_NAME, PRODUCT_TABLES_GROUP, PROFFER_PRODUCT_PROPERTY_NAME, PROFFER_STATUS_COUNT_PROPERTY_NAME, PROFFERED_ANAGLYPH_PRODUCTS_TABLE_PARAMETER_NAME, PROFFERED_DTM_EXTRAS_PRODUCTS_TABLE_PARAMETER_NAME, PROFFERED_DTM_PRODUCTS_TABLE_PARAMETER_NAME, PROFFERED_EDR_PRODUCTS_TABLE_PARAMETER_NAME, PROFFERED_EXTRAS_PRODUCTS_TABLE_PARAMETER_NAME, PROFFERED_RDR_PRODUCTS_TABLE_PARAMETER_NAME, RDR, RDR_CUMINDEX_FILE_PARAMETER_NAME, RDR_CUMINDEX_LABEL_PARAMETER_NAME, RDR_EXTRAS, RDR_GROUP, RDR_INDEX_FILE_PARAMETER_NAME, RDR_INDEX_LABEL_PARAMETER_NAME, RDR_PRODUCTS_TABLE_PARAMETER_NAME, RDR_ROOT_PARAMETER_NAME, RELEASED_VERSION_COLUMN_ALIAS, SEARCH_STATUS_COMPILING_DATA, SEARCH_STATUS_COMPLETE, SEARCH_STATUS_CONSTRUCT, SEARCH_STATUS_EXECUTE, SEARCH_STATUS_PROPERTY_NAME, SEARCH_STATUS_START, SKIP_MISSION_PHASES_PARAMETER_NAME, Status_Hash, UNRELEASED_COLUMN_ALIAS, USER_REQUESTED_TABLE_UPDATE_PROPERTY
Constructor and Description |
---|
PDS_Release()
Constructs and initializes the PDS_Release class, and sets up the resources
of the implemented methods that are needed for the subclasses.
|
Modifier and Type | Method and Description |
---|---|
void |
addPropertyChangeListener(java.beans.PropertyChangeListener listener)
As a product release processes a list of products, property change events
are fired to indicate the products currently being processed.
|
abstract java.util.Vector<java.lang.String> |
Column_Names()
This method returns the column names to be displayed in the JTable of
the HiVolume GUI, this method needs to be implemented by the subclass.
|
void |
Create_PDS_Volume_Link(java.util.Vector<java.util.Vector<java.lang.String>> file_maps)
This method performs the task of creating the symbolic links to the
actual data products within the PDS Volume.
|
static java.lang.String |
Escape_Underscores(java.lang.String text)
A utility method for escaping underscore characters: '_' The input string
is returned with all underscores replaced with backslashed under scores.
|
abstract java.util.Vector<java.util.Vector<java.lang.String>> |
Find_Products(java.lang.String observation_id,
int minimum_orbit,
int maximum_orbit,
boolean retrieve_released)
This method should create a list of released and unreleased products that
are available.
|
void |
Init_Tagger(PIRL.Configuration.Configuration configuration,
PIRL.Database.Database database)
Initializes the tagger object that will be used to update the status tags
for the products being released.
|
abstract java.util.Vector<java.util.Vector<java.lang.String>> |
Link_Map(Product product)
A Vector of Vector Strings containing one or more mappings of symbolic
links.
|
abstract Product |
Product_Data(java.lang.String product_id,
java.lang.String version,
java.lang.String product_type)
This method should retrieve information from the database to create a
product object that can be used by the release class to proffer and release
a data product into the HiRISE PDS volume.
|
abstract void |
Proffer_Products(java.util.Vector<Product> products)
The Proffer_Products method is the primary method used to release products
into the HiRISE PDS Volume and update the HiCat database to indicate the
product is available to the PDS.
|
java.util.HashMap<java.lang.String,java.lang.Integer> |
Search_Status_Hash()
Returns the list of status values that are fired as property changes during
the release process.
|
java.lang.String |
Strip_Version_Dir(java.lang.String pathname)
Strips the text: /Version_XXX from the input string, if it
exists.
|
void |
Update_Status_Tag(Product product)
This is a stub method for setting the status tag on a product to "Released"
|
public static final java.lang.String ID
public javax.swing.event.SwingPropertyChangeSupport Property_Changer
public PDS_Release() throws PIRL.Configuration.Configuration_Exception
PIRL.Configuration.Configuration_Exception
- if the tagsonomy configuration file cannot be
read.public void Init_Tagger(PIRL.Configuration.Configuration configuration, PIRL.Database.Database database)
configuration
- database
- public java.lang.String Strip_Version_Dir(java.lang.String pathname)
pathname
- - a pathname String containing a version specifier that needs
to be stripped.public static java.lang.String Escape_Underscores(java.lang.String text)
A utility method for escaping underscore characters: '_' The input string is returned with all underscores replaced with backslashed under scores.
Eg: PSP_123456_1234 -> PSP\_123456\_1234
This method is useful for escaping underscores in observation ID's and product ID's prior to using them as conditions with the SQL 'LIKE' function.
text
- - the text containing underscores to be escapedpublic void Create_PDS_Volume_Link(java.util.Vector<java.util.Vector<java.lang.String>> file_maps) throws java.io.IOException, java.lang.InterruptedException
Create_PDS_Volume_Link
in interface Releasable
file_maps
- - A vector of string containing the source and destination
file paths for the symbolic link to be created.java.io.IOException
- if a file access error occurs during the link creation
processjava.lang.InterruptedException
- if a problem occurs during the system call to
the symblic link creation utility (ln -s source_path destination_path)public void Update_Status_Tag(Product product) throws java.sql.SQLException
product
- - The product that needs a status update.java.sql.SQLException
public java.util.HashMap<java.lang.String,java.lang.Integer> Search_Status_Hash()
public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
listener
- public abstract java.util.Vector<java.lang.String> Column_Names()
Column_Names
in interface Releasable
Releasable
public abstract java.util.Vector<java.util.Vector<java.lang.String>> Find_Products(java.lang.String observation_id, int minimum_orbit, int maximum_orbit, boolean retrieve_released) throws PIRL.Database.Database_Exception
Find_Products
in interface Releasable
observation_id
- - A string containing a full or partial observation_id
that can be used to search for products to release.minimum_orbit
- - An integer holding the minimum orbit to search for productsmaximum_orbit
- - An integer holding the maximum orbit to search for productsretrieve_released
- - a boolean value indicating weather or not released
products should also be returned (the default should be false).PIRL.Database.Database_Exception
- if the find procedure fails.Releasable.Column_Names()
public abstract Product Product_Data(java.lang.String product_id, java.lang.String version, java.lang.String product_type) throws PIRL.Database.Database_Exception
Product_Data
in interface Releasable
product_id
- - A string form of the PRODUCT_ID to gather information forversion
- - The version of the productproduct_type
- - This value should be EDR, RDR, or one of the
PRODUCT_TYPE string from the Anaglyph_File_Types or Extras_File_Types tables.PIRL.Database.Database_Exception
- if a query or database access problem occurspublic abstract void Proffer_Products(java.util.Vector<Product> products) throws PIRL.Database.Database_Exception, java.io.IOException, java.lang.InterruptedException
Proffer_Products
in interface Releasable
products
- - A Vector of Products to be proffered within the HiCat
database and linked into the HiRISE PDS Volume.PIRL.Database.Database_Exception
- if the proffering procedure fails on the database.java.io.IOException
- if a problem occurs while creating the symbolic link in the
PDS Volumejava.lang.InterruptedException
- if the symbolic link procedure (a system call)
failspublic abstract java.util.Vector<java.util.Vector<java.lang.String>> Link_Map(Product product)
Link_Map
in interface Releasable
product
- - the product to generate source and destination paths forReleasable.Create_PDS_Volume_Link(Vector)
Copyright \ (C) Arizona Board of Regents on behalf of the \ Planetary Image Research Laboratory, Lunar and \ Planetary Laboratory at the University of Arizona