/** * Initialize a DomainEventMessage originating from an aggregate. * * @param trackingToken Tracking token of the event * @param delegate Delegate domain event containing other event data */ public GenericTrackedDomainEventMessage(TrackingToken trackingToken, DomainEventMessage<T> delegate) { this(trackingToken, delegate.getType(), delegate.getAggregateIdentifier(), delegate.getSequenceNumber(), delegate, delegate.getTimestamp()); }
preparedStatement.setLong(3, snapshot.getSequenceNumber()); preparedStatement.setString(4, snapshot.getType()); writeTimestamp(preparedStatement, 5, snapshot.getTimestamp()); preparedStatement.setString(6, payload.getType().getName()); preparedStatement.setString(7, payload.getType().getRevision());
preparedStatement.setLong(3, event.getSequenceNumber()); preparedStatement.setString(4, event.getType()); writeTimestamp(preparedStatement, 5, event.getTimestamp()); preparedStatement.setString(6, payload.getType().getName()); preparedStatement.setString(7, payload.getType().getRevision());
/** * Initialize a DomainEventMessage originating from an aggregate. * * @param trackingToken Tracking token of the event * @param delegate Delegate domain event containing other event data */ public GenericTrackedDomainEventMessage(TrackingToken trackingToken, DomainEventMessage<T> delegate) { this(trackingToken, delegate.getType(), delegate.getAggregateIdentifier(), delegate.getSequenceNumber(), delegate, delegate.getTimestamp()); }
/** * Constructor used to create a new event entry to store in Mongo. * * @param serializer Serializer to use for the event to store * @param events The events contained in this commit */ public CommitEntry(List<? extends DomainEventMessage<?>> events, Serializer serializer) { DomainEventMessage firstEvent = events.get(0); DomainEventMessage lastEvent = events.get(events.size() - 1); firstSequenceNumber = firstEvent.getSequenceNumber(); firstTimestamp = formatInstant(firstEvent.getTimestamp()); lastTimestamp = formatInstant(lastEvent.getTimestamp()); lastSequenceNumber = lastEvent.getSequenceNumber(); aggregateIdentifier = lastEvent.getAggregateIdentifier(); lastEventIdentifier = lastEvent.getIdentifier(); aggregateType = lastEvent.getType(); eventEntries = new EventEntry[events.size()]; for (int i = 0, eventsLength = events.size(); i < eventsLength; i++) { DomainEventMessage event = events.get(i); eventEntries[i] = new EventEntry(event, serializer); } }
preparedStatement.setLong(3, event.getSequenceNumber()); preparedStatement.setString(4, event.getType()); writeTimestamp(preparedStatement, 5, event.getTimestamp()); preparedStatement.setString(6, payload.getType().getName()); preparedStatement.setString(7, payload.getType().getRevision());
preparedStatement.setLong(3, snapshot.getSequenceNumber()); preparedStatement.setString(4, snapshot.getType()); writeTimestamp(preparedStatement, 5, snapshot.getTimestamp()); preparedStatement.setString(6, payload.getType().getName()); preparedStatement.setString(7, payload.getType().getRevision());
/** * Constructor used to create a new event entry to store in Mongo. * * @param event The actual DomainEvent to store * @param serializer Serializer to use for the event to store */ public EventEntry(DomainEventMessage<?> event, Serializer serializer) { aggregateIdentifier = event.getAggregateIdentifier(); aggregateType = event.getType(); sequenceNumber = event.getSequenceNumber(); eventIdentifier = event.getIdentifier(); Class<?> serializationTarget = String.class; if (serializer.canSerializeTo(DBObject.class)) { serializationTarget = DBObject.class; } SerializedObject<?> serializedPayloadObject = event.serializePayload(serializer, serializationTarget); SerializedObject<?> serializedMetaDataObject = event.serializeMetaData(serializer, serializationTarget); serializedPayload = serializedPayloadObject.getData(); payloadType = serializedPayloadObject.getType().getName(); payloadRevision = serializedPayloadObject.getType().getRevision(); serializedMetaData = serializedMetaDataObject.getData(); timestamp = formatInstant(event.getTimestamp()); }