System architecture
: Subsystems
: |
In order to allow the data centers to send back special "subsetting specifications" which would allow the user to enter various types of subsetting criteria during package-selection, ODL was created to support it.
The Web Gateway takes this ODL and converts it into objects (which, as of 1.8, are some appropriate subclass of class IU::Criterion). Such objects know how to do the following:
For example, the following ODL would become an instance of IU::Criterion::InputNum:
GROUP = SPECIALIZED_CRITERIA CRITERIA_NAME = "MaxGamma" CRITERIA_TYPE = "REAL" COMMENT = "Brief explanation of MaxGamma" CRITERIA_MIN = 0.0 CRITERIA_MAX = 10.0 SELECT_NUM = ONE END_GROUP = SPECIALIZED_CRITERIA
And this would become an instance of IU::Criterion::SelectMany:
GROUP = SPECIALIZED_CRITERIA CRITERIA_NAME = "Channel" CRITERIA_TYPE = "STRING" COMMENT = ("Select one or more of the following instrument channels") CRITERIA_VALUE = ("19V", "19H", "36V", "36H") SELECT_NUM = MANY REQUIRED = Y END_GROUP = SPECIALIZED_CRITERIA
In 1.8, these objects were used to solve the similar problem of extended search criteria.
IU::Criterion - abstract search criterion IU::Criterion::Geo - a geographic region IU::Criterion::InputNum - a single number/date in a query IU::Criterion::InputRange - a range in a query IU::Criterion::InputText - a text field in a query IU::Criterion::SelectMany - a multiple-selection list in a query IU::Criterion::SelectOne - single-selection menu in a query
IU::Query - a query created through the search form IU::SubsetSpec - subsetting criteria in the "choose package" page