Search in sources :

Example 11 with NitfHeader

use of org.codice.imaging.nitf.core.header.NitfHeader in project alliance by codice.

the class TreUtilityTest method createFileHeaderWithMtirpb.

public static NitfHeader createFileHeaderWithMtirpb() throws NitfFormatException {
    NitfHeader nitfHeader = createFileHeader();
    TreCollection treCollection = nitfHeader.getTREsRawStructure();
    treCollection.add(createMtirpbTre());
    return nitfHeader;
}
Also used : NitfHeader(org.codice.imaging.nitf.core.header.NitfHeader) TreCollection(org.codice.imaging.nitf.core.tre.TreCollection)

Example 12 with NitfHeader

use of org.codice.imaging.nitf.core.header.NitfHeader in project alliance by codice.

the class NitfHeaderTransformerTest method testValidationWarningsOnNitfAttributeTransformException.

@Test
public void testValidationWarningsOnNitfAttributeTransformException() throws Exception {
    String originalNitfValue = "US";
    NitfTestCommons.setupNitfUtilities(originalNitfValue, Arrays.asList("USA", "CAN"));
    File nitfFile = temporaryFolder.newFile("nitf-attribute-header-test.ntf");
    FileSecurityMetadata fileSecurityMetadata = TreUtilityTest.createSecurityMetadata();
    when(fileSecurityMetadata.getSecurityClassificationSystem()).thenReturn(originalNitfValue);
    Supplier<NitfHeader> nitfHeader = () -> TreUtilityTest.createFileHeader(fileSecurityMetadata);
    new NitfCreationFlowImpl().fileHeader(nitfHeader).write(nitfFile.getAbsolutePath());
    Metacard metacard;
    try (InputStream inputStream = new FileInputStream(nitfFile)) {
        metacard = metacardFactory.createMetacard("nitfHeaderTest");
        NitfSegmentsFlow nitfSegmentsFlow = new NitfParserInputFlowImpl().inputStream(inputStream).headerOnly();
        nitfHeaderTransformer.transform(nitfSegmentsFlow, metacard);
    }
    assertThat(metacard, is(not(nullValue())));
    assertThat(metacard.getAttribute(Validation.VALIDATION_WARNINGS).getValues().size(), equalTo(1));
    assertThat(metacard.getAttribute(Security.CLASSIFICATION_SYSTEM).getValue(), is(originalNitfValue));
}
Also used : NitfCreationFlowImpl(org.codice.imaging.nitf.fluent.impl.NitfCreationFlowImpl) Metacard(ddf.catalog.data.Metacard) NitfHeader(org.codice.imaging.nitf.core.header.NitfHeader) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) NitfSegmentsFlow(org.codice.imaging.nitf.fluent.NitfSegmentsFlow) NitfParserInputFlowImpl(org.codice.imaging.nitf.fluent.impl.NitfParserInputFlowImpl) File(java.io.File) FileSecurityMetadata(org.codice.imaging.nitf.core.security.FileSecurityMetadata) FileInputStream(java.io.FileInputStream) TreUtilityTest(org.codice.alliance.transformer.nitf.TreUtilityTest) Test(org.junit.Test)

Example 13 with NitfHeader

use of org.codice.imaging.nitf.core.header.NitfHeader in project alliance by codice.

the class ImageInputTransformerTest method createNitfWithCsdida.

private static void createNitfWithCsdida(File file) {
    NitfHeader header = NitfHeaderFactory.getDefault(FileType.NITF_TWO_ONE);
    Tre csdida = TreFactory.getDefault("CSDIDA", TreSource.ExtendedHeaderData);
    csdida.add(new TreEntryImpl("DAY", "01", "UINT"));
    csdida.add(new TreEntryImpl("MONTH", str(3), "UINT"));
    csdida.add(new TreEntryImpl("YEAR", "1234", "UINT"));
    csdida.add(new TreEntryImpl("PLATFORM_CODE", "XY", "string"));
    csdida.add(new TreEntryImpl("VEHICLE_ID", "01", "string"));
    csdida.add(new TreEntryImpl("PASS", "01", "string"));
    csdida.add(new TreEntryImpl("OPERATION", "001", "UINT"));
    csdida.add(new TreEntryImpl("SENSOR_ID", str(2), "string"));
    csdida.add(new TreEntryImpl("PRODUCT_ID", str(2), "string"));
    csdida.add(new TreEntryImpl("RESERVED_0", str(4), "string"));
    csdida.add(new TreEntryImpl("TIME", "20000202010101", "UINT"));
    csdida.add(new TreEntryImpl("PROCESS_TIME", "20000202010101", "UINT"));
    csdida.add(new TreEntryImpl("RESERVED_1", str(2), "string"));
    csdida.add(new TreEntryImpl("RESERVED_2", str(2), "string"));
    csdida.add(new TreEntryImpl("RESERVED_3", str(1), "string"));
    csdida.add(new TreEntryImpl("RESERVED_4", str(1), "string"));
    csdida.add(new TreEntryImpl("SOFTWARE_VERSION_NUMBER", str(10), "string"));
    header.getTREsRawStructure().add(csdida);
    new NitfCreationFlowImpl().fileHeader(() -> header).write(file.getAbsolutePath());
}
Also used : NitfCreationFlowImpl(org.codice.imaging.nitf.fluent.impl.NitfCreationFlowImpl) NitfHeader(org.codice.imaging.nitf.core.header.NitfHeader) Tre(org.codice.imaging.nitf.core.tre.Tre) TreEntryImpl(org.codice.imaging.nitf.core.tre.impl.TreEntryImpl)

Example 14 with NitfHeader

use of org.codice.imaging.nitf.core.header.NitfHeader in project alliance by codice.

the class ImageInputTransformerTest method createNitfWithPiatgb.

private static void createNitfWithPiatgb(File file) {
    NitfHeader header = NitfHeaderFactory.getDefault(FileType.NITF_TWO_ONE);
    Tre piatgb = TreFactory.getDefault("PIATGB", TreSource.ImageExtendedSubheaderData);
    piatgb.add(new TreEntryImpl("TGTUTM", "55HFA9359093610", "string"));
    piatgb.add(new TreEntryImpl("PIATGAID", "ABCDEFGHIJUVWXY", "string"));
    piatgb.add(new TreEntryImpl("PIACTRY", "AS", "string"));
    piatgb.add(new TreEntryImpl("PIACAT", "702XX", "string"));
    piatgb.add(new TreEntryImpl("TGTGEO", "351655S1490742E", "string"));
    piatgb.add(new TreEntryImpl("DATUM", "WGE", "string"));
    piatgb.add(new TreEntryImpl("TGTNAME", "Canberra Hill                         ", "string"));
    piatgb.add(new TreEntryImpl("PERCOVER", "57", "UINT"));
    piatgb.add(new TreEntryImpl("TGTLAT", "-35.30812 ", "float"));
    piatgb.add(new TreEntryImpl("TGTLON", "+149.12447 ", "float"));
    ImageSegment imageSegment = ImageSegmentFactory.getDefault(FileType.NITF_TWO_ONE);
    imageSegment.addImageBand(TreUtilityTest.createImageBand());
    imageSegment.getTREsRawStructure().add(piatgb);
    new NitfCreationFlowImpl().fileHeader(() -> header).imageSegment(() -> imageSegment).write(file.getAbsolutePath());
}
Also used : TreUtilityTest.createImageSegment(org.codice.alliance.transformer.nitf.TreUtilityTest.createImageSegment) ImageSegment(org.codice.imaging.nitf.core.image.ImageSegment) NitfCreationFlowImpl(org.codice.imaging.nitf.fluent.impl.NitfCreationFlowImpl) NitfHeader(org.codice.imaging.nitf.core.header.NitfHeader) Tre(org.codice.imaging.nitf.core.tre.Tre) TreEntryImpl(org.codice.imaging.nitf.core.tre.impl.TreEntryImpl)

Aggregations

NitfHeader (org.codice.imaging.nitf.core.header.NitfHeader)14 ImageSegment (org.codice.imaging.nitf.core.image.ImageSegment)7 FileSecurityMetadata (org.codice.imaging.nitf.core.security.FileSecurityMetadata)5 NitfCreationFlowImpl (org.codice.imaging.nitf.fluent.impl.NitfCreationFlowImpl)5 Tre (org.codice.imaging.nitf.core.tre.Tre)4 TreEntryImpl (org.codice.imaging.nitf.core.tre.impl.TreEntryImpl)4 TreUtilityTest.createImageSegment (org.codice.alliance.transformer.nitf.TreUtilityTest.createImageSegment)3 DataSource (org.codice.imaging.nitf.core.DataSource)3 DateTime (org.codice.imaging.nitf.core.common.DateTime)3 ImageCoordinates (org.codice.imaging.nitf.core.image.ImageCoordinates)3 SecurityMetadata (org.codice.imaging.nitf.core.security.SecurityMetadata)3 NitfSegmentsFlow (org.codice.imaging.nitf.fluent.NitfSegmentsFlow)3 NitfParserInputFlowImpl (org.codice.imaging.nitf.fluent.impl.NitfParserInputFlowImpl)3 NitfSegmentsFlowImpl (org.codice.imaging.nitf.fluent.impl.NitfSegmentsFlowImpl)3 Test (org.junit.Test)3 BinaryContent (ddf.catalog.data.BinaryContent)2 BufferedImage (java.awt.image.BufferedImage)2 NitfFormatException (org.codice.imaging.nitf.core.common.NitfFormatException)2 TargetIdImpl (org.codice.imaging.nitf.core.image.impl.TargetIdImpl)2 RGBColourImpl (org.codice.imaging.nitf.core.impl.RGBColourImpl)2