Search in sources :

Example 1 with ReadableDataInputStream

use of org.knime.core.table.io.ReadableDataInputStream in project knime-core by knime.

the class DictEncodedDataCellInOutDelegateTest method testReadAdapterCell.

@Test
public void testReadAdapterCell() throws IOException, ParserConfigurationException, SAXException, XMLStreamException {
    // This calls readDataCell twice, once for the AdapterCell and once for the contained cell.
    final var xmlString = "<dummyXML>Test</dummyXML>";
    final var innerCell = XMLCellFactory.create(xmlString);
    @SuppressWarnings("unchecked") final var cell = new MyAdapterCell(innerCell, XMLValue.class);
    final IDataRepository dataRepository = null;
    final IWriteFileStoreHandler fileStoreHandler = new ValueSchemaTest.DummyWriteFileStoreHandler();
    final var baseBuffer = new ByteArrayOutputStream();
    final var outStream = new DataOutputStream(baseBuffer);
    try (final var out = new DictEncodedDataCellDataOutputDelegator(fileStoreHandler, outStream)) {
        out.writeDataCell(cell);
        final var classNames = DictEncodedDataCellDataInputDelegator.getSerializedCellNames(cell).split(";");
        assertEquals(2, classNames.length);
        assertEquals(cell.getClass().getName(), classNames[0]);
        assertEquals(innerCell.getClass().getName(), classNames[1]);
        final var inStream = new ReadableDataInputStream(new ByteArrayInputStream(baseBuffer.toByteArray()));
        try (final var in = new DictEncodedDataCellDataInputDelegator(dataRepository, inStream, DictEncodedDataCellDataInputDelegator.getSerializedCellNames(cell))) {
            in.readDataCell();
        }
    }
}
Also used : IDataRepository(org.knime.core.data.IDataRepository) IWriteFileStoreHandler(org.knime.core.data.filestore.internal.IWriteFileStoreHandler) MyAdapterCell(org.knime.core.data.AdapterCellTest.MyAdapterCell) ByteArrayInputStream(java.io.ByteArrayInputStream) DataOutputStream(java.io.DataOutputStream) ByteArrayOutputStream(java.io.ByteArrayOutputStream) ReadableDataInputStream(org.knime.core.table.io.ReadableDataInputStream) Test(org.junit.Test) ValueSchemaTest(org.knime.core.data.v2.ValueSchemaTest)

Example 2 with ReadableDataInputStream

use of org.knime.core.table.io.ReadableDataInputStream in project knime-core by knime.

the class DictEncodedDataCellInOutDelegateTest method testReadDataCellWithoutClassNameThrowsException.

@Test(expected = IllegalStateException.class)
public void testReadDataCellWithoutClassNameThrowsException() throws IOException, ParserConfigurationException, SAXException, XMLStreamException {
    final var xmlString = "<dummyXML>Test</dummyXML>";
    final var cell = XMLCellFactory.create(xmlString);
    final IDataRepository dataRepository = null;
    final IWriteFileStoreHandler fileStoreHandler = new ValueSchemaTest.DummyWriteFileStoreHandler();
    final var baseBuffer = new ByteArrayOutputStream();
    final var outStream = new DataOutputStream(baseBuffer);
    try (final var out = new DictEncodedDataCellDataOutputDelegator(fileStoreHandler, outStream)) {
        out.writeDataCell(cell);
        final var inStream = new ReadableDataInputStream(new ByteArrayInputStream(baseBuffer.toByteArray()));
        try (final var in = new DictEncodedDataCellDataInputDelegator(dataRepository, inStream, "")) {
            // throws because no cell class name was specified in constructor
            in.readDataCell();
        }
    }
}
Also used : IDataRepository(org.knime.core.data.IDataRepository) IWriteFileStoreHandler(org.knime.core.data.filestore.internal.IWriteFileStoreHandler) ByteArrayInputStream(java.io.ByteArrayInputStream) DataOutputStream(java.io.DataOutputStream) ByteArrayOutputStream(java.io.ByteArrayOutputStream) ReadableDataInputStream(org.knime.core.table.io.ReadableDataInputStream) Test(org.junit.Test) ValueSchemaTest(org.knime.core.data.v2.ValueSchemaTest)

Example 3 with ReadableDataInputStream

use of org.knime.core.table.io.ReadableDataInputStream in project knime-core by knime.

the class DictEncodedDataCellInOutDelegateTest method testWriteReadDataCell.

private static void testWriteReadDataCell(final DataCell cell) throws IOException {
    final IDataRepository dataRepository = null;
    final IWriteFileStoreHandler fileStoreHandler = new ValueSchemaTest.DummyWriteFileStoreHandler();
    final var baseBuffer = new ByteArrayOutputStream();
    final var outStream = new DataOutputStream(baseBuffer);
    try (final var out = new DictEncodedDataCellDataOutputDelegator(fileStoreHandler, outStream)) {
        out.writeDataCell(cell);
        final var inStream = new ReadableDataInputStream(new ByteArrayInputStream(baseBuffer.toByteArray()));
        try (final var in = new DictEncodedDataCellDataInputDelegator(dataRepository, inStream, DictEncodedDataCellDataInputDelegator.getSerializedCellNames(cell))) {
            final var readCell = in.readDataCell();
            assertEquals(cell, readCell);
        }
    }
}
Also used : IDataRepository(org.knime.core.data.IDataRepository) IWriteFileStoreHandler(org.knime.core.data.filestore.internal.IWriteFileStoreHandler) ByteArrayInputStream(java.io.ByteArrayInputStream) DataOutputStream(java.io.DataOutputStream) ByteArrayOutputStream(java.io.ByteArrayOutputStream) ReadableDataInputStream(org.knime.core.table.io.ReadableDataInputStream)

Aggregations

ByteArrayInputStream (java.io.ByteArrayInputStream)3 ByteArrayOutputStream (java.io.ByteArrayOutputStream)3 DataOutputStream (java.io.DataOutputStream)3 IDataRepository (org.knime.core.data.IDataRepository)3 IWriteFileStoreHandler (org.knime.core.data.filestore.internal.IWriteFileStoreHandler)3 ReadableDataInputStream (org.knime.core.table.io.ReadableDataInputStream)3 Test (org.junit.Test)2 ValueSchemaTest (org.knime.core.data.v2.ValueSchemaTest)2 MyAdapterCell (org.knime.core.data.AdapterCellTest.MyAdapterCell)1