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);
}
}
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));
}
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));
}
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);
}
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);
}
Aggregations