4 //***************************************************************
5 //* APPROVED via RFC N01-0268 on 6 August 2001
6 //***************************************************************
9 //***************************************************************
11 //* The Geospatial and Imagery Access Service
14 //* Description: Defines the data types and interfaces needed
15 //* to support search, retrieval and access to geospatial
16 //* data such as images, maps charts and their supporting
22 //* Date Author Comment
23 //* ----- -------- ------------
24 //* 15 May 97 D. Lutz Initial release for review
25 //* 2 July 97 D. Lutz Released for TEM Review
26 //* 11 July 97 D. Lutz Changes based on 2 July TEM
27 //* 18 July 97 D. Lutz Released for NIMA CCB
28 //* 24 Oct 97 D. Lutz Changes based on 7 Oct TEM
29 //* 14 Nov 97 D. Lutz Changes based on 4 Nov TEM
30 //* 17 Dec 97 D. Lutz Changes based on 9 Dec TEM
31 //* 15 Apr 98 J. Baldo changes based on Mar TEM
32 //* 7 May 98 D.Lutz Changes based on 1 May TEM
33 //* 2 Jul 98 J. Baldo/D. Lutz Changes based
34 //* on 22-23 Jun TEM Requests - GIAS 3.2
35 //* 2 Jul 98 (J. Baldo): Callback module has been removed
36 //* from previous GIAS 3.2 specification release
37 //* 5 June 1998 and will be included in GIAS 3.3
38 //* 5 Nov 98 D. Lutz Added first version of UpdateMgr
40 //* 10 Mar 99 J. Baldo Changes based on March 99 TEM
42 //* 5 August D. Lutz Mods from 3-4 August UIP WG.
43 //* 18 Februray 2000 D. Lutz New Generic Exception Model
48 //***************************************************************
50 //***************************************************************
51 //* The USIGS Common Object Specification (UCOS) contains
52 //* all the basic data types and interfaces common across
54 //***************************************************************
60 //***************************************************************
65 //* Description: The main module for the Geospatial & Imagery
69 //***************************************************************
74 //Forward references for all interfaces, just for convenience
80 // Abstract classes that help define the managers
81 interface LibraryManager
;
82 interface RequestManager
;
83 interface AccessManager
;
85 // Specific managers defined
87 interface CreationMgr
;
90 interface StandingQueryMgr
;
93 interface QueryOrderMgr
;
94 interface DataModelMgr
;
97 // The abstract request objects
100 // Specific requests defined
101 interface OrderRequest
;
102 interface CreateRequest
;
103 interface CreateMetaDataRequest
;
104 interface UpdateRequest
;
105 interface SubmitQueryRequest
;
106 interface SubmitStandingQueryRequest
;
107 interface SetAvailabilityRequest
;
108 interface HitCountRequest
;
109 interface GetParametersRequest
;
110 interface IngestRequest
;
111 interface SubmitQueryOrderRequest
;
112 interface GetRelatedFilesRequest
;
113 interface CreateAssociationRequest
;
114 interface UpdateByQueryRequest
;
117 //***************************************************************
118 //* DataTypes re-used from UCOS
119 //***************************************************************
121 typedef UCO
::NameValueList PropertyList
;
123 typedef UCO
::Rectangle GeoRegion
;
133 //***************************************************************
134 //* GIAS specific data types
135 //***************************************************************
138 enum AvailabilityRequirement
140 REQUIRED
, NOT_REQUIRED
143 typedef string UseMode
;
145 typedef sequence
<short> RsetList
;
147 enum OrderType
{STANDING
, IMMEDIATE
};
149 typedef any ProductSpec
;
151 typedef string ProductFormat
;
152 typedef string ImageUniqueIdentifier
;
153 typedef string ImageFormat
;
154 typedef string Compression
;
155 typedef short BitsPerPixel
;
156 typedef string Algorithm
;
157 enum SupportDataEncoding
{ASCII
, EBCDIC
};
159 typedef sequence
< ProductFormat
> ProductFormatList
;
163 ImageUniqueIdentifier imageid
;
168 GeoRegion sub_section
;
169 GeoRegionType geo_region_type
;
170 SupportDataEncoding encoding
;
172 typedef sequence
< ImageSpec
> ImageSpecList
;
174 struct AlterationSpec
178 GeoRegion sub_section
;
179 GeoRegionType geo_region_type
;
181 typedef sequence
< AlterationSpec
> AlterationSpecList
;
185 string package_identifier
;
186 string packaging_format_and_compression
;
190 struct TailoringSpec
{
191 UCO
::NameNameList specs
;
197 unsigned short quantity
;
200 typedef sequence
< MediaType
> MediaTypeList
;
202 struct PhysicalDelivery
212 union Destination
switch (DestinationType
)
214 case FTP
: UCO
::FileLocation f_dest
;
215 case EMAIL
: UCO
::EmailAddress e_dest
;
216 case PHYSICAL
: PhysicalDelivery h_dest
;
219 typedef sequence
< Destination
> DestinationList
;
223 struct ValidationResults
230 typedef sequence
< ValidationResults
> ValidationResultsList
;
232 typedef UCO
::Name RelatedFileType
;
233 typedef sequence
<RelatedFileType
> RelatedFileTypeList
;
236 RelatedFileType file_type
;
237 UCO
::FileLocation location
;
239 typedef sequence
<RelatedFile
> RelatedFileList
;
241 enum ConceptualAttributeType
243 FOOTPRINT
, CLASSIFICATION
, OVERVIEW
, THUMBNAIL
, DATASETTYPE
,
244 MODIFICATIONDATE
, PRODUCTTITLE
, DIRECTACCESS
, DIRECTACCESSPROTOCOL
, UNIQUEIDENTIFIER
, DATASIZE
};
247 typedef string Entity
;
248 typedef string ViewName
;
249 typedef sequence
< ViewName
> ViewNameList
;
253 ViewNameList sub_views
;
256 typedef sequence
< View
> ViewList
;
261 DATE_VALUE
, TEXT_VALUE
, INTEGER_VALUE
, FLOATING_POINT_VALUE
, LIST
,
262 ORDERED_LIST
, INTEGER_RANGE
, FLOATING_POINT_RANGE
, GEOGRAPHIC
, INTEGER_SET
, FLOATING_POINT_SET
, GEOGRAPHIC_SET
, BINARY_DATA
, BOOLEAN_VALUE
};
266 UCO
::AbsTime earliest
;
276 struct FloatingPointRange
284 typedef sequence
< IntegerRange
> IntegerRangeList
;
286 typedef sequence
< FloatingPointRange
> FloatingPointRangeList
;
287 union Domain
switch (DomainType
)
290 case DATE_VALUE
: DateRange d
;
291 case TEXT_VALUE
: unsigned long t
;
292 case INTEGER_VALUE
: IntegerRange iv
;
293 case INTEGER_SET
: IntegerRangeList is
;
294 case FLOATING_POINT_VALUE
: FloatingPointRange fv
;
295 case FLOATING_POINT_SET
: FloatingPointRangeList fps
;
296 case LIST
: UCO
::NameList l
;
297 case ORDERED_LIST
: UCO
::NameList ol
;
298 case INTEGER_RANGE
: IntegerRange ir
;
299 case FLOATING_POINT_RANGE
: FloatingPointRange fr
;
300 case GEOGRAPHIC
: UCO
::Rectangle g
;
301 case GEOGRAPHIC_SET
: UCO
::RectangleList gs
;
302 case BINARY_DATA
: UCO
::BinData bd
;
303 case BOOLEAN_VALUE
: boolean bv
;
315 UCOS_SIMPLE_GS_IMAGE
,
317 UCOS_COMPRESSED_IMAGE
,
342 struct AttributeInformation
344 string attribute_name
;
345 AttributeType attribute_type
;
346 Domain attribute_domain
;
347 string attribute_units
;
348 string attribute_reference
;
349 RequirementMode mode
;
354 typedef sequence
< AttributeInformation
> AttributeInformationList
;
360 UCO
::Cardinality card
;
361 AttributeInformationList attribute_info
;
364 typedef sequence
<Association
> AssociationList
;
365 typedef sequence
< Library > LibraryList
;
367 typedef string ManagerType
;
368 typedef sequence
< ManagerType
> ManagerTypeList
;
370 typedef sequence
< Request
> RequestList
;
372 typedef sequence
< UseMode
> UseModeList
;
375 struct LibraryDescription
378 string library_description
;
379 string library_version_number
;
381 typedef sequence
< LibraryDescription
> LibraryDescriptionList
;
389 typedef UCO
::DAGList QueryResults
;
402 NamedEventType event_type
;
403 string event_description
;
405 typedef sequence
< Event
> EventList
;
407 enum DayEvent
{ MON
, TUE
, WED
, THU
, FRI
, SAT
, SUN
, FIRST_OF_MONTH
, END_OF_MONTH
};
415 enum LifeEventType
{ABSOLUTE_TIME
, DAY_EVENT_TIME
, NAMED_EVENT
, RELATIVE_TIME
};
417 union LifeEvent
switch ( LifeEventType
)
419 case ABSOLUTE_TIME
: UCO
::AbsTime at
;
420 case DAY_EVENT_TIME
: DayEventTime day_event
;
421 case NAMED_EVENT
: string ev
;
422 case RELATIVE_TIME
: UCO
::Time rt
;
425 typedef sequence
< LifeEvent
> LifeEventList
;
428 struct QueryLifeSpan
{
431 LifeEventList frequency
;
436 enum Polarity
{ ASCENDING
, DESCENDING
};
440 UCO
::Name attribute_name
;
441 Polarity sort_polarity
;
444 typedef sequence
< SortAttribute
> SortAttributeList
;
446 struct DelayEstimate
{
447 unsigned long time_delay
;
448 boolean valid_time_delay
;
450 struct ProductDetails
{
451 MediaTypeList mTypes
;
452 UCO
::NameList benums
;
453 AlterationSpec aSpec
;
454 UID
::Product aProduct
;
455 string info_system_name
;
457 typedef sequence
<ProductDetails
> ProductDetailsList
;
459 struct DeliveryDetails
{
464 typedef sequence
< DeliveryDetails
> DeliveryDetailsList
;
466 struct OrderContents
{
470 UCO
::AbsTime needByDate
;
473 ProductDetailsList prod_list
;
474 DeliveryDetailsList del_list
;
477 struct QueryOrderContents
{
483 AlterationSpec aSpec
;
484 DeliveryDetailsList del_list
;
487 struct AccessCriteria
{
492 struct PackageElement
{
496 typedef sequence
< PackageElement
> PackageElementList
;
498 struct DeliveryManifest
{
500 PackageElementList elements
;
502 typedef sequence
<DeliveryManifest
> DeliveryManifestList
;
504 typedef string CallbackID
;
506 //***************************************************************
507 //* The Exceptions Identifiers
508 //* Note: Three sets of IDL Strings Constants are being used as
509 //* the Exceptions for the GIAS
510 //***************************************************************
511 // UCO::InvalidInputParameter Exceptions
512 const string BadAccessCriteriaConst
= "BadAccessCriteria";
513 const string BadAccessValueConst
= "BadAccessValue";
514 const string BadCreationAttributeValueConst
= "BadCreationAttributeValue";
515 const string BadEmailAddressConst
= "BadEmailAddress";
516 const string BadGeoRegionConst
= "BadGeoRegion";
517 const string BadLocationConst
= "BadLocation";
518 const string BadPropertyValueConst
= "BadPropertyValue";
519 const string BadQueryConst
= "BadQuery";
520 const string BadQueryAttributeConst
= "BadQueryAttribute";
521 const string BadQueryValueConst
= "BadQueryValue";
522 const string BadTimeConst
= "BadTime";
523 const string BadUseModeConst
= "BadUseMode";
524 const string UnknownCallBackConst
= "UnknownCallBack";
525 const string UnknownCreationAttributeConst
= "UnknownCreationAttribute";
526 const string UnknownManagerTypeConst
= "UnknownManagerType";
527 const string UnknownProductConst
= "UnknownProduct";
528 const string UnknownPropertyConst
= "UnknownProperty";
529 const string UnknownRequestConst
= "UnknownRequest";
530 const string UnregisteredCallbackConst
= "UnregisteredCallback";
531 const string UnknownUseModeConst
= "UnknownUseMode";
532 const string BadOrderConst
= "BadOrder";
533 const string UnknownViewNameConst
= "UnknownViewName";
534 const string UnknownEntityConst
= "UnknownEntity";
535 const string UnsupportedConceptualAttributeConst
= "UnsupportedConceptualAttribute";
536 const string NoValuesRequestedConst
= "NoValuesRequested";
537 const string BadSortAttributeConst
= "BadSortAttribute";
538 const string NonUpdateableAttributeConst
= "NonUpdateableAttribute";
539 const string BadFileTypeConst
= "BadFileType";
540 const string InvalidCardinalityConst
= "InvalidCardinality";
541 const string UnknownAssociationConst
= "UnknownAssociation";
542 const string InvalidObjectConst
= "InvalidObject";
543 const string UnknownCategoryConst
= "UnknownCategory";
544 const string InvalidEventConst
= "InvalidEvent";
545 const string BadResultAttributeConst
= "BadResultAttribute";
546 const string BadUpdateAttributeConst
= "BadUpdateAttribute";
547 const string ImplementationLimitConst
= "ImplementationLimit";
549 // UCO::ProcessingFault Exceptions
550 const string ProductUnavailableConst
= "ProductUnavailable";
551 const string LockUnavailableConst
= "LockUnavailable";
552 const string UnsafeUpdateConst
= "UnsafeUpdate";
553 const string ProductLockedConst
= "ProductLocked";
555 // UCO::SystemFault Exceptions
556 const string GeneralSystemFaultConst
= "GeneralSystemFault";
561 //***************************************************************
563 //***************************************************************
565 //***************************************************************
566 //* interface GIAS::Library.
568 //* Description: This object represents a Library. It
569 //* provides operations to discover and acquire manager objects,
570 //* which provide access to all the functionality of this
573 //***************************************************************
578 ManagerTypeList get_manager_types
()
579 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
581 LibraryManager get_manager
(in ManagerType manager_type
, in
582 AccessCriteria access_criteria
)
583 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
585 LibraryDescription get_library_description
()
586 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
588 LibraryDescriptionList get_other_libraries
(in AccessCriteria access_criteria
)
589 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
594 //***************************************************************
595 //* Interface GIAS::LibraryManager
597 //* Description: This (abstract) object defines the basic
598 //* functions common to all types of managers.
601 //***************************************************************
603 interface LibraryManager
605 UCO
::NameList get_property_names
()
606 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
608 PropertyList get_property_values
(in UCO
::NameList
610 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
612 LibraryList get_libraries
()
613 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
616 //***************************************************************
617 //* Interface GIAS::RequestManager
619 //* Description: This (abstact) object defines the basic
620 //* functions common to managers that use operations that
621 //* generate request objects.
624 //***************************************************************
626 interface RequestManager
629 RequestList get_active_requests
()
630 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
632 unsigned long get_default_timeout
()
633 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
635 void set_default_timeout
(in unsigned long new_default
)
636 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
638 unsigned long get_timeout
(in Request aRequest
)
639 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
641 void set_timeout
(in Request aRequest
, in unsigned long
643 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
645 void delete_request
(in Request aRequest
)
646 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
649 //***************************************************************
650 //* interface GIAS:: AccessManager
652 //* Description: Provides functions to check and request the
653 //* availability of Library products for specific purposes
655 //***************************************************************
657 interface AccessManager
:RequestManager
660 UseModeList get_use_modes
()
661 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
662 boolean is_available
(in UID
::Product product
, in UseMode use_mode
)
663 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
665 // Returns the time (in seconds) estimated to put the requested product // into the requested UseMode. DOES NOT request a change in the
666 // availability of product.
668 unsigned long query_availability_delay
(in UID
::Product product
,
669 in AvailabilityRequirement availability_requirement
,
671 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
673 short get_number_of_priorities
()
674 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
676 SetAvailabilityRequest set_availability
(in UID
::ProductList products
, in AvailabilityRequirement availability_requirement
, in UseMode use_mode
, in short priority
)
677 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
681 //***************************************************************
684 //***************************************************************
686 //***************************************************************
687 //* interface GIAS::QueryOrderMgr
688 //* Derived from GIAS::LibraryManager and
689 //* GIAS::RequestManager
691 //* Description: Provides operations to submit a
692 //* query based order.
695 //***************************************************************
698 interface QueryOrderMgr
:LibraryManager
, RequestManager
701 EventList get_event_descriptions
()
702 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
704 SubmitQueryOrderRequest submit_query_order
(
707 in QueryLifeSpan lifespan
,
709 in QueryOrderContents order
,
710 in PropertyList properties
)
711 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
716 //***************************************************************
717 //* interface GIAS:: VideoMgr
718 //* Derived from GIAS::LibraryManager and GIAS::AccessManager
720 //* Description: Provides operations to retrieve video data
722 //* NOTE: This interface is TBR.
723 //***************************************************************
725 //interface VideoMgr : LibraryManager, AccessManager {
728 //***************************************************************
730 //***************************************************************
731 //* interface GIAS:: OrderMgr
732 //* Derived from GIAS:: LibraryManager and GIAS::AccessManager
734 //* Description: Provides operations to submit orders for Products
735 //* contained in the Library:
739 //***************************************************************
741 interface OrderMgr
:LibraryManager
, AccessManager
745 UCO
::NameList get_package_specifications
()
746 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
748 ValidationResults validate_order
(in OrderContents order
, in PropertyList properties
)
749 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
751 OrderRequest order
(in OrderContents order
, in PropertyList properties
)
752 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
756 //***************************************************************
757 //* interface GIAS:: DataModelMgr
758 //* Derived from GIAS:: LibraryManager
760 //* Description: Provides operations to discover the elements of the
761 //* data model in use by the library
765 //***************************************************************
767 interface DataModelMgr
:LibraryManager
769 UCO
::AbsTime get_data_model_date
(in PropertyList properties
)
770 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
772 UCO
::NameList get_alias_categories
(in PropertyList properties
)
773 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
775 UCO
::NameNameList get_logical_aliases
(in string category
, in PropertyList properties
)
776 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
778 string get_logical_attribute_name
(in ViewName view_name
,in ConceptualAttributeType attribute_type
, in PropertyList properties
)
779 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
781 ViewList get_view_names
(in PropertyList properties
)
782 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
784 AttributeInformationList get_attributes
(in ViewName view_name
,in PropertyList properties
)
785 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
787 AttributeInformationList get_queryable_attributes
(in ViewName view_name
,in PropertyList properties
)
788 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
790 UCO
::EntityGraph get_entities
(in ViewName view_name
,in PropertyList properties
)
791 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
793 AttributeInformationList get_entity_attributes
(in Entity aEntity
,in PropertyList properties
)
794 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
796 AssociationList get_associations
(in PropertyList properties
)
797 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
799 unsigned short get_max_vertices
(in PropertyList properties
)
800 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
803 //***************************************************************
804 //* interface GIAS:: CreationMgr
805 //* Derived from GIAS::RequestManager and
806 //* GIAS::LibraryManager
807 //* Description: Provides operations to request/nominate the
808 //* archiving and cataloging of a new product to a Library.
811 //***************************************************************
813 interface CreationMgr
:LibraryManager
, RequestManager
815 CreateRequest create
(in UCO
::FileLocationList new_product
,in RelatedFileList related_files
, in UCO
::DAG creation_metadata
,in PropertyList properties
)
816 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
818 CreateMetaDataRequest create_metadata
(in UCO
::DAG creation_metadata
, in ViewName view_name
, in RelatedFileList related_files
, in PropertyList properties
)
819 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
821 CreateAssociationRequest create_association
( in string assoc_name
,
822 in UID
::Product view_a_object
,
823 in UID
::ProductList view_b_objects
,
824 in UCO
::NameValueList assoc_info
)
825 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
831 //***************************************************************
832 //* interface GIAS:: UpdateMgr
833 //* Derived from GIAS:: LibraryManager, and GIAS::RequestManager
834 //* Description: Provides operations to modify, extend or delete
835 //* existing catalog entries in a GIAS Library.
838 //***************************************************************
840 interface UpdateMgr
: LibraryManager
, RequestManager
842 void set_lock
(in UID
::Product lockedProduct
)
843 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
844 UpdateRequest update
(in ViewName view
, in UCO
::UpdateDAGList changes
, in RelatedFileList relfiles
, in PropertyList properties
)
845 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
846 UpdateByQueryRequest update_by_query
(in UCO
::NameValue updated_attribute
,
849 in PropertyList properties
)
850 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
851 void release_lock
(in UID
::Product lockedProduct
)
852 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
854 void delete_product
(in UID
::Product prod
)
855 raises
(UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
860 //***************************************************************
861 //* interface GIAS:: CatalogMgr
862 //* Derived from GIAS::LibraryManager and
863 //* GIAS::RequestManager
865 //* Description: Provides operations to submit a query for
869 //***************************************************************
871 interface CatalogMgr
:LibraryManager
, RequestManager
874 SubmitQueryRequest submit_query
(
876 in UCO
::NameList result_attributes
,
877 in SortAttributeList sort_attributes
,
878 in PropertyList properties
)
879 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
884 HitCountRequest hit_count
(in Query
885 aQuery
, in PropertyList properties
)
886 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
892 //***************************************************************
893 //* interface GIAS::StandingQueryMgr
894 //* Derived from GIAS::LibraryManager and
895 //* GIAS::RequestManager
897 //* Description: Provides operations to submit a
901 //***************************************************************
903 interface StandingQueryMgr
:LibraryManager
, RequestManager
906 EventList get_event_descriptions
()
907 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
909 SubmitStandingQueryRequest submit_standing_query
(
911 in UCO
::NameList result_attributes
,
912 in SortAttributeList sort_attributes
,
913 in QueryLifeSpan lifespan
,
914 in PropertyList properties
)
915 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
920 //***************************************************************
921 //* interface GIAS:: ProductMgr
922 //* Derived from GIAS::LibraryManager and GIAS::AccessManager
924 //* Description: Provides operations to retrieve data about a
925 //* specific data set.
928 //***************************************************************
930 interface ProductMgr
:LibraryManager
, AccessManager
933 GetParametersRequest get_parameters
(in UID
::Product product
, in UCO
::NameList desired_parameters
, in PropertyList properties
)
934 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
936 RelatedFileTypeList get_related_file_types
( in UID
::Product prod
)
937 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
939 GetRelatedFilesRequest get_related_files
( in UID
::ProductList
940 products
, in UCO
::FileLocation location
, in RelatedFileType
941 type
, in PropertyList properties
)
942 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
,
947 //***************************************************************
948 //* interface GIAS:: IngestMgr
949 //* Derived from GIAS::LibraryManager and
950 //* GIAS::RequestManager
952 //* Description: Provides operations to perform bulk transfers
953 //* of data between Libraries.
956 //***************************************************************
958 interface IngestMgr
:LibraryManager
, RequestManager
961 // FileLocation contains a directory
962 IngestRequest bulk_pull
(in UCO
::FileLocation location
, in PropertyList property_list
)
963 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
965 // FileLocation contains a directory
966 IngestRequest bulk_push
(in Query aQuery
, in UCO
::FileLocation location
, in PropertyList property_list
)
967 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
971 //***************************************************************
972 //* interface GIAS:: Request
974 //* Description: An (abstract) object that provides operations
975 //* common to all forms of requests.
978 //***************************************************************
984 UCO
::RequestDescription get_request_description
()
985 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
986 void set_user_info
(in string message)
987 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
989 UCO
::Status get_status
()
990 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
991 DelayEstimate get_remaining_delay
()
992 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
994 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
995 CallbackID register_callback
(in CB
::Callback acallback
)
996 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
997 void free_callback
(in CallbackID
id)
998 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
1000 RequestManager get_request_manager
()
1001 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1004 //***************************************************************
1005 //* interface GIAS:: OrderRequest
1006 //* Derived from GIAS::Request
1007 //* Description: Returned by calls to order.
1010 //***************************************************************
1012 interface OrderRequest
:Request
1014 UCO
::State complete
(out DeliveryManifest prods
)
1015 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1018 //***************************************************************
1019 //* interface GIAS:: SubmitQueryOrderRequest
1020 //* Derived from GIAS::Request
1021 //* Description: Returned by calls to submit_query_order.
1024 //***************************************************************
1026 interface SubmitQueryOrderRequest
:Request
1030 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1033 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1035 UCO
::State complete_list
(out DeliveryManifestList prods
)
1036 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1038 UCO
::State complete
(out DeliveryManifest prods
)
1039 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1042 //***************************************************************
1043 //***************************************************************
1044 //* interface GIAS:: CreateRequest
1045 //* Derived from GIAS::Request
1047 //* Description: Returned by calls to create
1050 //***************************************************************
1052 interface CreateRequest
:Request
1054 UCO
::State complete
(out UID
::ProductList new_products
)
1055 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1058 //***************************************************************
1059 //* interface GIAS:: CreateMetaDataRequest
1060 //* Derived from GIAS::Request
1062 //* Description: Returned by calls to create_metadata
1065 //***************************************************************
1067 interface CreateMetaDataRequest
:Request
1069 UCO
::State complete
(out UID
::Product new_product
)
1070 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1074 //***************************************************************
1075 //* interface GIAS:: UpdateRequest
1076 //* Derived from GIAS::Request
1078 //* Description: Returned by calls to update
1081 //***************************************************************
1083 interface UpdateRequest
:Request
1086 UCO
::State complete
()
1087 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1092 //***************************************************************
1093 //* interface GIAS:: SubmitQueryRequest
1094 //* Derived from GIAS::Request
1096 //* Description: Returned by calls to query
1099 //***************************************************************
1101 interface SubmitQueryRequest
:Request
1103 void set_number_of_hits
(in unsigned long hits
)
1104 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
1105 UCO
::State complete_DAG_results
(out QueryResults results
)
1106 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1107 UCO
::State complete_stringDAG_results
(out UCO
::StringDAGList results
)
1108 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1109 UCO
::State complete_XML_results
(out UCO
::XMLDocument results
)
1110 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1114 //***************************************************************
1115 //* interface GIAS:: SubmitStandingQueryRequest
1116 //* Derived from GIAS::Request
1118 //* Description: Returned by calls to submit_standing_query
1121 //***************************************************************
1123 interface SubmitStandingQueryRequest
:Request
1125 void set_number_of_hits
(in unsigned long hits
)
1126 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
1128 unsigned long get_number_of_hits
()
1129 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1131 unsigned long get_number_of_hits_in_interval
(in unsigned long interval
)
1132 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
1134 unsigned long get_number_of_intervals
()
1135 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1137 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1139 void clear_intervals
(in unsigned long num_intervals
)
1140 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
1142 void clear_before
(in UCO
::Time relative_time
)
1143 raises
( UCO
::InvalidInputParameter
, UCO
::ProcessingFault
, UCO
::SystemFault
);
1146 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1148 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1149 UCO
::AbsTime get_time_last_executed
()
1150 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1151 UCO
::AbsTime get_time_next_execution
()
1152 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1153 UCO
::State complete_DAG_results
(out QueryResults results
)
1154 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1155 UCO
::State complete_stringDAG_results
(out UCO
::StringDAGList results
)
1156 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1157 UCO
::State complete_XML_results
(out UCO
::XMLDocument results
)
1158 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1161 //***************************************************************
1162 //* interface GIAS:: SetAvailabilityRequest
1163 //* Derived from GIAS::Request
1165 //* Description: Returned by calls to makeAvailable
1168 //***************************************************************
1170 interface SetAvailabilityRequest
:Request
1172 UCO
::State complete
()
1173 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1176 //***************************************************************
1177 //* interface GIAS:: HitCountRequest
1178 //* Derived from GIAS::Request
1180 //* Description: Returned by calls to Hitcount
1183 //***************************************************************
1185 interface HitCountRequest
:Request
1187 UCO
::State complete
(out unsigned long number_of_hits
)
1188 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1191 //***************************************************************
1192 //* interface GIAS:: GetParametersRequest
1193 //* Derived from GIAS::Request
1195 //* Description: Returned by calls to get_parameters
1198 //***************************************************************
1200 interface GetParametersRequest
:Request
1202 UCO
::State complete
(out UCO
::DAG parameters
)
1203 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1204 UCO
::State complete_StringDAG
(out UCO
::StringDAG parameters
)
1205 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1211 //***************************************************************
1212 //* interface GIAS:: IngestRequest
1213 //* Derived from GIAS::Request
1215 //* Description: Returned by calls to bulk_push and bulk_pull
1218 //***************************************************************
1220 interface IngestRequest
:Request
1222 UCO
::State complete
()
1223 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1227 //***************************************************************
1228 //* interface GIAS:: GetRelatedFilesRequest
1229 //* Derived from GIAS::Request
1231 //* Description: Returned by calls to get_related_files
1234 //***************************************************************
1236 interface GetRelatedFilesRequest
:Request
1238 UCO
::State complete
(out UCO
::NameList locations
)
1239 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1242 //***************************************************************
1243 //* interface GIAS:: CreateAssociationRequest
1244 //* Derived from GIAS::Request
1246 //* Description: Returned by calls to create_association
1249 //***************************************************************
1251 interface CreateAssociationRequest
:Request
1253 UCO
::State complete
()
1254 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);
1257 //*******************************************************************
1258 //* interface GIAS::UpdateByQueryRequest
1259 //* Derived from GIAS::Request
1260 //* Description: Returned by calls to update_by_query
1262 //*******************************************************************
1263 interface UpdateByQueryRequest
:Request
1265 UCO
::State complete
()
1266 raises
(UCO
::ProcessingFault
, UCO
::SystemFault
);