NASA logo

System architecture : Subsystems :
2.3.3. Criterion objects (for query and subsetting)

[Home] [Prev] [Next] [Up] [Index]    [Subsystems] [Java Subsystems]

[Top] Introduction

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.


[Top] Overview of classes

Criterion classes
The following classes represent query/subsetting 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

Users of criteria
Collections of criteria are used by the following:
  IU::Query            - a query created through the search form
  IU::SubsetSpec       - subsetting criteria in the "choose package" page


[Home] [Prev] [Next] [Up] [Index]    [Subsystems] [Java Subsystems]