Search in sources :

Example 21 with Domain

use of org.codice.alliance.nsili.common.GIAS.Domain in project alliance by codice.

the class NsiliAttributesGenerator method getNsilVideoAttributes.

public static List<AttributeInformation> getNsilVideoAttributes() {
    String prefix = NsiliConstants.NSIL_VIDEO + ".";
    Domain domain;
    List<AttributeInformation> attributes = new ArrayList<>();
    domain = new Domain();
    domain.fr(MAX_STANAG_4559_RANGE);
    attributes.add(new AttributeInformation(prefix + NsiliConstants.AVG_BIT_RATE, AttributeType.FLOATING_POINT, domain, "", "", RequirementMode.OPTIONAL, "The bit rate of the motion imagery product when being streamed.", false, true));
    domain = new Domain();
    domain.l(getVideoCategoryOptions());
    attributes.add(new AttributeInformation(prefix + NsiliConstants.CATEGORY, AttributeType.TEXT, domain, "", "", RequirementMode.MANDATORY, "An indicator of the specific category of motion image (information about the bands of visible or infrared region of electromagnetic continuum being used). The specific category of an image reveals its intended use or the nature of its collector.", false, true));
    domain = new Domain();
    domain.l(getVideoEncodingSchemeOptions());
    attributes.add(new AttributeInformation(prefix + NsiliConstants.ENCODING_SCHEME, AttributeType.TEXT, domain, "", "", RequirementMode.MANDATORY, "A code that indicates the manner in which the motion imagery was encoded.", false, true));
    domain = new Domain();
    domain.fr(MAX_STANAG_4559_RANGE);
    attributes.add(new AttributeInformation(prefix + NsiliConstants.FRAME_RATE, AttributeType.FLOATING_POINT, domain, "", "", RequirementMode.OPTIONAL, "The standard rate (in frames per second (FPS)) at which the motion imagery was captured. Note: The Motion Imagery Standards Profile identifies several values, such as: 23.98 FPS, 24 FPS, 29.97 FPS, 30 FPS, 59.94 FPS.", false, true));
    domain = new Domain();
    domain.ir(new IntegerRange(1, Integer.MAX_VALUE));
    attributes.add(new AttributeInformation(prefix + NsiliConstants.NUMBER_OF_ROWS, AttributeType.INTEGER, domain, "", "", RequirementMode.OPTIONAL, "The frame vertical resolution.", false, true));
    domain = new Domain();
    domain.ir(new IntegerRange(1, Integer.MAX_VALUE));
    attributes.add(new AttributeInformation(prefix + NsiliConstants.NUMBER_OF_COLS, AttributeType.INTEGER, domain, "", "", RequirementMode.OPTIONAL, "The frame horizontal resolution.", false, true));
    domain = new Domain();
    domain.l(getMetadataEncodingSchemeOptions());
    attributes.add(new AttributeInformation(prefix + NsiliConstants.METADATA_ENC_SCHEME, AttributeType.TEXT, domain, "", "", RequirementMode.OPTIONAL, "A code that indicates the manner in which the metadata for the motion imagery was encoded.", false, true));
    domain = new Domain();
    domain.ir(new IntegerRange(0, 12));
    attributes.add(new AttributeInformation(prefix + NsiliConstants.MISM_LEVEL, AttributeType.INTEGER, domain, "", "", RequirementMode.OPTIONAL, "From [AEDP-8]: The \"Motion Imagery Systems (Spatial and Temporal) Matrix\" (MISM) defines an ENGINEERING GUIDELINE for the simple identification of broad categories of Motion Imagery Systems. The intent of the MISM is to give user communities an easy to use, common shorthand reference language to describe the fundamental technical capabilities of NATO motion imagery systems.", false, true));
    domain = new Domain();
    domain.l(getVideoScanningModeOptions());
    attributes.add(new AttributeInformation(prefix + NsiliConstants.SCANNING_MODE, AttributeType.TEXT, domain, "", "", RequirementMode.OPTIONAL, "Indicate if progressive or interlaced scans are being applied.", false, true));
    domain = new Domain();
    domain.bv(false);
    attributes.add(new AttributeInformation(prefix + NsiliConstants.VMTI_PROCESSED, AttributeType.BOOLEAN_DATA, domain, "", "", RequirementMode.OPTIONAL, "A flag indicating if the video stream or file has been processed by a VMTI processor.", false, true));
    domain = new Domain();
    domain.ir(new IntegerRange(0, Integer.MAX_VALUE));
    attributes.add(new AttributeInformation(prefix + NsiliConstants.NUM_VMTI_TGT_REPORTS, AttributeType.INTEGER, domain, "", "", RequirementMode.OPTIONAL, "The maximum number of unique detections in any one (1) second interval. For a video stream the numberOfVMTITargetReports shall not be provided a value.", false, true));
    return attributes;
}
Also used : AttributeInformation(org.codice.alliance.nsili.common.GIAS.AttributeInformation) IntegerRange(org.codice.alliance.nsili.common.GIAS.IntegerRange) ArrayList(java.util.ArrayList) Domain(org.codice.alliance.nsili.common.GIAS.Domain)

Example 22 with Domain

use of org.codice.alliance.nsili.common.GIAS.Domain in project alliance by codice.

the class NsiliAttributesGenerator method getNsilReportAttributes.

public static List<AttributeInformation> getNsilReportAttributes() {
    String prefix = NsiliConstants.NSIL_REPORT + ".";
    Domain domain;
    List<AttributeInformation> attributes = new ArrayList<>();
    domain = new Domain();
    domain.t(200);
    attributes.add(new AttributeInformation(prefix + NsiliConstants.INFORMATION_RATING, AttributeType.TEXT, domain, "", "", RequirementMode.OPTIONAL, "Information rating of the data source and the information of the data source upon which the report is generated by assessing the \"Reliability of the Source and Credibility of the Information\" according to STANAG 2511, 2190 and 2191. The rating is specified by the combination of reliability and credibility values, e.g. B2. If the report is generated upon multiple source, multiple ratings are separated by commas (e.g. B2,C3,C6).", false, true));
    domain = new Domain();
    domain.t(10);
    attributes.add(new AttributeInformation(prefix + NsiliConstants.ORIGINATORS_REQ_SERIAL_NUM, AttributeType.TEXT, domain, "", "", RequirementMode.OPTIONAL, "Based on the originators request serial number STANAG 3277", false, true));
    domain = new Domain();
    domain.l(getReportPriorityOptions());
    attributes.add(new AttributeInformation(prefix + NsiliConstants.PRIORITY, AttributeType.TEXT, domain, "", "", RequirementMode.MANDATORY, "A priority marking of the report", false, true));
    domain = new Domain();
    domain.l(getReportTypeOptions());
    attributes.add(new AttributeInformation(prefix + NsiliConstants.TYPE, AttributeType.TEXT, domain, "", "", RequirementMode.OPTIONAL, "The specific type of report.", false, true));
    return attributes;
}
Also used : AttributeInformation(org.codice.alliance.nsili.common.GIAS.AttributeInformation) ArrayList(java.util.ArrayList) Domain(org.codice.alliance.nsili.common.GIAS.Domain)

Example 23 with Domain

use of org.codice.alliance.nsili.common.GIAS.Domain in project alliance by codice.

the class NsiliAttributesGenerator method getNsilSdsAttributes.

public static List<AttributeInformation> getNsilSdsAttributes() {
    String prefix = NsiliConstants.NSIL_SDS + ".";
    Domain domain;
    List<AttributeInformation> attributes = new ArrayList<>();
    domain = new Domain();
    domain.l(getSdsOperationalStatusOptions());
    attributes.add(new AttributeInformation(prefix + NsiliConstants.OPERATIONAL_STATUS, AttributeType.TEXT, domain, "", "", RequirementMode.MANDATORY, "SDS operational status", false, true));
    return attributes;
}
Also used : AttributeInformation(org.codice.alliance.nsili.common.GIAS.AttributeInformation) ArrayList(java.util.ArrayList) Domain(org.codice.alliance.nsili.common.GIAS.Domain)

Example 24 with Domain

use of org.codice.alliance.nsili.common.GIAS.Domain in project alliance by codice.

the class NsiliAttributesGenerator method getNsilRfiAttributes.

public static List<AttributeInformation> getNsilRfiAttributes() {
    String prefix = NsiliConstants.NSIL_RFI + ".";
    Domain domain;
    List<AttributeInformation> attributes = new ArrayList<>();
    domain = new Domain();
    domain.t(50);
    attributes.add(new AttributeInformation(prefix + NsiliConstants.FOR_ACTION, AttributeType.TEXT, domain, "", "", RequirementMode.OPTIONAL, "A nation, command, agency, organization or unit requested to provide a response. Ref. STANAG 2149 (edition 6). Note that the forAction value is singular and only identifies one entity.", false, true));
    domain = new Domain();
    domain.t(200);
    attributes.add(new AttributeInformation(prefix + NsiliConstants.FOR_INFORMATION, AttributeType.TEXT, domain, "", "", RequirementMode.OPTIONAL, "A comma-separated list of nations, commands, agencies, organizations and units which may have an interest in the response. Ref. STANAG 2149 (edition 6)", false, true));
    domain = new Domain();
    domain.t(30);
    attributes.add(new AttributeInformation(prefix + NsiliConstants.SERIAL_NUMBER, AttributeType.TEXT, domain, "", "", RequirementMode.MANDATORY, "Unique human readable string identifying the RFI instance.", false, true));
    domain = new Domain();
    domain.l(getRfiStatusOptions());
    attributes.add(new AttributeInformation(prefix + NsiliConstants.STATUS, AttributeType.TEXT, domain, "", "", RequirementMode.MANDATORY, "Indicates the status of the RFIs", false, true));
    domain = new Domain();
    domain.l(getRfiWorkflowStatusOptions());
    attributes.add(new AttributeInformation(prefix + NsiliConstants.WORKFLOW_STATUS, AttributeType.TEXT, domain, "", "", RequirementMode.MANDATORY, "Indicates the workflow status of the RFI.", false, true));
    return attributes;
}
Also used : AttributeInformation(org.codice.alliance.nsili.common.GIAS.AttributeInformation) ArrayList(java.util.ArrayList) Domain(org.codice.alliance.nsili.common.GIAS.Domain)

Example 25 with Domain

use of org.codice.alliance.nsili.common.GIAS.Domain in project alliance by codice.

the class NsiliAttributesGenerator method getNsilImageryAttributes.

public static List<AttributeInformation> getNsilImageryAttributes() {
    String prefix = NsiliConstants.NSIL_IMAGERY + ".";
    Domain domain;
    List<AttributeInformation> attributes = new ArrayList<>();
    domain = new Domain();
    domain.l(getImageryCategoryOptions());
    attributes.add(new AttributeInformation(prefix + NsiliConstants.CATEGORY, AttributeType.TEXT, domain, "", "", RequirementMode.MANDATORY, "A valid indicator of the specific category of image, raster, or grid data. The specific category of an image reveals its intended use or the nature of its collector.", false, true));
    domain = new Domain();
    domain.ir(PERCENT_INT_RANGE);
    attributes.add(new AttributeInformation(prefix + NsiliConstants.CLOUD_COVER_PCT, AttributeType.INTEGER, domain, "", "", RequirementMode.OPTIONAL, "A code that indicates the percentage of the image obscured by cloud cover.", false, true));
    domain = new Domain();
    domain.t(800);
    attributes.add(new AttributeInformation(prefix + NsiliConstants.COMMENTS, AttributeType.TEXT, domain, "", "", RequirementMode.OPTIONAL, "Comments related to the image", false, true));
    domain = new Domain();
    domain.l(getImageryDecompressionTechOptions());
    attributes.add(new AttributeInformation(prefix + NsiliConstants.DECOMPRESSION_TECHNIQUE, AttributeType.TEXT, domain, "", "", RequirementMode.MANDATORY, "Specification of algorithm or process to apply to read or expand the image to which compression techniques have been applied.", false, true));
    domain = new Domain();
    domain.t(10);
    attributes.add(new AttributeInformation(prefix + NsiliConstants.IDENTIFIER, AttributeType.TEXT, domain, "", "", RequirementMode.MANDATORY, "This field shall contain a valid alphanumeric identification code associated with the image. The valid codes are determined by the application.", false, true));
    domain = new Domain();
    domain.ir(new IntegerRange(0, 9));
    attributes.add(new AttributeInformation(prefix + NsiliConstants.NIIRS, AttributeType.INTEGER, domain, "", "", RequirementMode.OPTIONAL, "NIIRS - National Image Interpretability Rating Scales (NIIRS) -defines and measures the quality of images and the performance of imaging systems.", false, true));
    domain = new Domain();
    domain.ir(new IntegerRange(0, 99999));
    attributes.add(new AttributeInformation(prefix + NsiliConstants.NUMBER_OF_BANDS, AttributeType.INTEGER, domain, "", "", RequirementMode.MANDATORY, "The number of data bands within the specified image.", false, true));
    domain = new Domain();
    domain.ir(new IntegerRange(1, Integer.MAX_VALUE));
    attributes.add(new AttributeInformation(prefix + NsiliConstants.NUMBER_OF_ROWS, AttributeType.INTEGER, domain, "", "", RequirementMode.OPTIONAL, "Number of significant rows in Image. This field shall contain the total number of rows of significant pixels in the image. It could be that an image has been padded with fill data (to fill out the last part of the block in a blocked image). The meaning of 'significant' is then only the rows conveying image data excluding all the rows with padded fill data.", false, true));
    domain = new Domain();
    domain.ir(new IntegerRange(1, Integer.MAX_VALUE));
    attributes.add(new AttributeInformation(prefix + NsiliConstants.NUMBER_OF_COLS, AttributeType.INTEGER, domain, "", "", RequirementMode.OPTIONAL, "Number of significant columns in Image. This field shall contain the total number of columns of significant pixels in the image. It could be that an image has been padded with fill data (to fill out the last part of the block in a blocked image). The meaning of 'significant' is then only the columns conveying image data excluding all the columns with padded fill data.", false, true));
    domain = new Domain();
    domain.t(80);
    attributes.add(new AttributeInformation(prefix + NsiliConstants.TITLE, AttributeType.TEXT, domain, "", "", RequirementMode.OPTIONAL, "This field shall contain the title of the image.", false, true));
    return attributes;
}
Also used : AttributeInformation(org.codice.alliance.nsili.common.GIAS.AttributeInformation) IntegerRange(org.codice.alliance.nsili.common.GIAS.IntegerRange) ArrayList(java.util.ArrayList) Domain(org.codice.alliance.nsili.common.GIAS.Domain)

Aggregations

ArrayList (java.util.ArrayList)29 AttributeInformation (org.codice.alliance.nsili.common.GIAS.AttributeInformation)29 Domain (org.codice.alliance.nsili.common.GIAS.Domain)29 IntegerRange (org.codice.alliance.nsili.common.GIAS.IntegerRange)7 HashMap (java.util.HashMap)2 List (java.util.List)2 DateRange (org.codice.alliance.nsili.common.GIAS.DateRange)1 FloatingPointRange (org.codice.alliance.nsili.common.GIAS.FloatingPointRange)1 Matchers.containsString (org.hamcrest.Matchers.containsString)1 Matchers.anyString (org.mockito.Matchers.anyString)1