public class Release_EDRs extends PDS_Release implements Releasable
This class implements the Releasable interface for HiRISE EDR products, and is responsible for both creating lists of EDR products that are available for release, and performing the release procedure for these products.
The release procedure consists of creating symbolic links within the HiRISE EDR area of the HiRISE PDS Volume for each EDR file to be released and updating the Proffered_EDR_Products table within the HiCat database to indicate the files have been released.
Releasable
,
PDS_Release
Modifier and Type | Field and Description |
---|---|
static int |
EXIT_CONFIGURATION_ERROR |
static int |
EXIT_DATABASE_ERROR |
static int |
EXIT_INVALID_COMMAND_LINE_SYNTAX |
static int |
EXIT_IO_ERROR |
static int |
EXIT_SUCCESS |
static java.lang.String |
ID |
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 |
---|
Release_EDRs(PIRL.Configuration.Configuration configuration)
Create an instance of the Release_EDRs class.
|
Modifier and Type | Method and Description |
---|---|
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.
|
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.
|
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.
|
static void |
main(java.lang.String[] arguments)
Release EDRs to the PDS Node.
|
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.
|
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.
|
static void |
Usage() |
addPropertyChangeListener, Create_PDS_Volume_Link, Escape_Underscores, Init_Tagger, Search_Status_Hash, Strip_Version_Dir, Update_Status_Tag
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Create_PDS_Volume_Link
public static final java.lang.String ID
public static final int EXIT_SUCCESS
public static final int EXIT_INVALID_COMMAND_LINE_SYNTAX
public static final int EXIT_CONFIGURATION_ERROR
public static final int EXIT_DATABASE_ERROR
public static final int EXIT_IO_ERROR
public Release_EDRs(PIRL.Configuration.Configuration configuration) throws PIRL.Database.Database_Exception, PIRL.Configuration.Configuration_Exception
configuration
- The configuration to use for configuring the database
connection as well as the paths for determining where the PDS products are
to be released on the local filesystem.PIRL.Database.Database_Exception
- if the database connection could not be created.PIRL.Configuration.Configuration_Exception
- if a problem reading the configuration file
occurs.public java.util.Vector<java.lang.String> Column_Names()
PDS_Release
Column_Names
in interface Releasable
Column_Names
in class PDS_Release
Releasable
public 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
PDS_Release
Find_Products
in interface Releasable
Find_Products
in class PDS_Release
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 Product Product_Data(java.lang.String product_id, java.lang.String version, java.lang.String product_type) throws PIRL.Database.Database_Exception
PDS_Release
Product_Data
in interface Releasable
Product_Data
in class PDS_Release
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 void Proffer_Products(java.util.Vector<Product> products) throws PIRL.Database.Database_Exception, java.io.IOException, java.lang.InterruptedException
PDS_Release
Proffer_Products
in interface Releasable
Proffer_Products
in class PDS_Release
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 java.util.Vector<java.util.Vector<java.lang.String>> Link_Map(Product product)
PDS_Release
Link_Map
in interface Releasable
Link_Map
in class PDS_Release
product
- - the product to generate source and destination paths forReleasable.Create_PDS_Volume_Link(Vector)
public static void main(java.lang.String[] arguments)
arguments
- HiVolume
public static void Usage()
Copyright \ (C) Arizona Board of Regents on behalf of the \ Planetary Image Research Laboratory, Lunar and \ Planetary Laboratory at the University of Arizona