Search in sources :

Example 1 with IonInt

use of com.amazon.ion.IonInt in project amazon-qldb-dmv-sample-java by aws-samples.

the class RevisionMetadata method fromIon.

public static RevisionMetadata fromIon(final IonStruct ionStruct) {
    if (ionStruct == null) {
        throw new IllegalArgumentException("Metadata cannot be null");
    }
    try {
        IonString id = (IonString) ionStruct.get("id");
        IonInt version = (IonInt) ionStruct.get("version");
        IonTimestamp txTime = (IonTimestamp) ionStruct.get("txTime");
        IonString txId = (IonString) ionStruct.get("txId");
        if (id == null || version == null || txTime == null || txId == null) {
            throw new IllegalArgumentException("Document is missing required fields");
        }
        return new RevisionMetadata(id.stringValue(), version.longValue(), new Date(txTime.getMillis()), txId.stringValue());
    } catch (ClassCastException e) {
        log.error("Failed to parse ion document");
        throw new IllegalArgumentException("Document members are not of the correct type", e);
    }
}
Also used : IonString(com.amazon.ion.IonString) IonTimestamp(com.amazon.ion.IonTimestamp) IonInt(com.amazon.ion.IonInt) Date(java.util.Date)

Example 2 with IonInt

use of com.amazon.ion.IonInt in project ion-java by amzn.

the class IonListSexpLiteSublistTest method sublistListIteratorWithSet.

@Test
public void sublistListIteratorWithSet() {
    final IonSequence sequence = newSequence();
    final List<IonValue> sublist = sequence.subList(2, 5);
    final ListIterator<IonValue> iterator = sublist.listIterator();
    iterator.next();
    final IonInt newSetValue = SYSTEM.newInt(100);
    iterator.set(newSetValue);
    assertEquals(newSetValue, sublist.get(0));
}
Also used : IonValue(com.amazon.ion.IonValue) IonInt(com.amazon.ion.IonInt) IonSequence(com.amazon.ion.IonSequence) Test(org.junit.Test)

Example 3 with IonInt

use of com.amazon.ion.IonInt in project ion-java by amzn.

the class IonListSexpLiteSublistTest method sublistSet.

@Test
public void sublistSet() {
    final IonSequence sequence = newSequence();
    final List<IonValue> sublist = sequence.subList(2, 5);
    final IonInt element = SYSTEM.newInt(99);
    final IonValue previous = sublist.set(0, element);
    assertEquals(2, ((IonInt) previous).intValue());
    assertEquals(element, sublist.get(0));
    assertEquals(element, sequence.get(2));
}
Also used : IonValue(com.amazon.ion.IonValue) IonInt(com.amazon.ion.IonInt) IonSequence(com.amazon.ion.IonSequence) Test(org.junit.Test)

Example 4 with IonInt

use of com.amazon.ion.IonInt in project ion-java by amzn.

the class IonListSexpLiteSublistTest method sublistSetOutOfRange.

@Test(expected = IndexOutOfBoundsException.class)
public void sublistSetOutOfRange() {
    final IonSequence sequence = newSequence();
    final List<IonValue> sublist = sequence.subList(2, 5);
    final IonInt element = SYSTEM.newInt(99);
    sublist.set(4, element);
}
Also used : IonValue(com.amazon.ion.IonValue) IonInt(com.amazon.ion.IonInt) IonSequence(com.amazon.ion.IonSequence) Test(org.junit.Test)

Example 5 with IonInt

use of com.amazon.ion.IonInt in project ion-java by amzn.

the class BaseIonSequenceLiteSublistTestCase method sublistContainsConcurrentModification.

@Test(expected = ConcurrentModificationException.class)
public void sublistContainsConcurrentModification() {
    final IonSequence sequence = newSequence();
    final List<IonValue> sublist = sequence.subList(2, 5);
    final IonInt value = SYSTEM.newInt(99);
    sequence.add(value);
    sublist.contains(value);
}
Also used : IonValue(com.amazon.ion.IonValue) IonInt(com.amazon.ion.IonInt) IonSequence(com.amazon.ion.IonSequence) Test(org.junit.Test)

Aggregations

IonInt (com.amazon.ion.IonInt)28 Test (org.junit.Test)21 IonSequence (com.amazon.ion.IonSequence)17 IonValue (com.amazon.ion.IonValue)16 IonTimestamp (com.amazon.ion.IonTimestamp)3 IonBool (com.amazon.ion.IonBool)2 IonFloat (com.amazon.ion.IonFloat)2 IonString (com.amazon.ion.IonString)2 IonStruct (com.amazon.ion.IonStruct)2 IonSymbol (com.amazon.ion.IonSymbol)2 BlobTest (com.amazon.ion.BlobTest)1 ClobTest (com.amazon.ion.ClobTest)1 IntTest (com.amazon.ion.IntTest)1 IonBlob (com.amazon.ion.IonBlob)1 IonClob (com.amazon.ion.IonClob)1 IonDecimal (com.amazon.ion.IonDecimal)1 IonList (com.amazon.ion.IonList)1 IonLob (com.amazon.ion.IonLob)1 IonNull (com.amazon.ion.IonNull)1 IonSexp (com.amazon.ion.IonSexp)1