Package org.axonframework.domain

Examples of org.axonframework.domain.DomainEventStream


        List<CustomDomainEventEntry> list = entityManager.createQuery("SELECT e FROM CustomDomainEventEntry e",
                                                                      CustomDomainEventEntry.class)
                                                         .getResultList();
        assertEquals(2, list.size());

        DomainEventStream eventStream = testSubject.readEvents("temp", "id1");
        assertTrue(eventStream.hasNext());
        assertEquals("Snapshot1", eventStream.next().getPayload());
        assertEquals("Payload2", eventStream.next().getPayload());
        assertFalse(eventStream.hasNext());
    }
View Full Code Here


            this.aggregateIdentifier = aggregateIdentifier;
        }

        @Override
        public void run() {
            DomainEventStream eventStream = eventStore.readEvents(typeIdentifier, aggregateIdentifier);
            try {
                // a snapshot should only be stored if the snapshot replaces at least more than one event
                long firstEventSequenceNumber = eventStream.peek().getSequenceNumber();
                DomainEventMessage snapshotEvent = createSnapshot(typeIdentifier, aggregateIdentifier, eventStream);
                if (snapshotEvent != null && snapshotEvent.getSequenceNumber() > firstEventSequenceNumber) {
                    eventStore.appendSnapshotEvent(typeIdentifier, snapshotEvent);
                }
            } finally {
View Full Code Here

     *
     * @param aggregate the aggregate to store
     */
    @Override
    protected void doSaveWithLock(T aggregate) {
        DomainEventStream eventStream = aggregate.getUncommittedEvents();
        try {
            Iterator<EventStreamDecorator> iterator = eventStreamDecorators.descendingIterator();
            while (iterator.hasNext()) {
                eventStream = iterator.next().decorateForAppend(getTypeIdentifier(), aggregate, eventStream);
            }
View Full Code Here

                                                      new Object(),
                                                      Collections.singletonMap("key", (Object) "Value"))));
        entityManager.flush();
        entityManager.clear();

        DomainEventStream events = testSubject.readEvents("test", aggregate1.getIdentifier());
        List<DomainEventMessage> actualEvents = new ArrayList<DomainEventMessage>();
        while (events.hasNext()) {
            DomainEventMessage event = events.next();
            event.getPayload();
            event.getMetaData();
            actualEvents.add(event);
        }
        assertEquals(aggregate1.getUncommittedEventCount(), actualEvents.size());

        /// we make sure persisted events have the same MetaData alteration logic
        DomainEventStream other = testSubject.readEvents("test", aggregate2.getIdentifier());
        assertTrue(other.hasNext());
        DomainEventMessage messageWithMetaData = other.next();
        DomainEventMessage altered = messageWithMetaData.withMetaData(Collections.singletonMap("key2",
                                                                                               (Object) "value"));
        DomainEventMessage combined = messageWithMetaData.andMetaData(Collections.singletonMap("key2",
                                                                                               (Object) "value"));
        assertTrue(altered.getMetaData().containsKey("key2"));
View Full Code Here

     * @throws AggregateDeletedException in case an aggregate existed in the past, but has been deleted
     * @throws AggregateNotFoundException when an aggregate with the given identifier does not exist
     */
    @Override
    protected T doLoad(Object aggregateIdentifier, final Long expectedVersion) {
        DomainEventStream events = null;
        DomainEventStream originalStream = null;
        try {
            try {
                events = eventStore.readEvents(getTypeIdentifier(), aggregateIdentifier);
            } catch (EventStreamNotFoundException e) {
                throw new AggregateNotFoundException(aggregateIdentifier, "The aggregate was not found", e);
View Full Code Here

                                                      new Object(),
                                                      Collections.singletonMap("key", (Object) "Value"))));
        entityManager.flush();
        entityManager.clear();

        DomainEventStream events = testSubject.readEvents("test", aggregate1.getIdentifier());
        List<DomainEventMessage> actualEvents = new ArrayList<DomainEventMessage>();
        while (events.hasNext()) {
            DomainEventMessage event = events.next();
            event.getPayload();
            event.getMetaData();
            actualEvents.add(event);
        }
View Full Code Here

        }
        testSubject.appendEvents("test", new SimpleDomainEventStream(domainEvents));
        entityManager.flush();
        entityManager.clear();

        DomainEventStream events = testSubject.readEvents("test", aggregateIdentifier);
        long t = 0L;
        while (events.hasNext()) {
            DomainEventMessage event = events.next();
            assertEquals(t, event.getSequenceNumber());
            t++;
        }
        assertEquals(110L, t);
    }
View Full Code Here

                serializer.serialize(stubDomainEvent.getMetaData(), byte[].class));
        entityManager.persist(entry);
        entityManager.flush();
        entityManager.clear();

        DomainEventStream stream = testSubject.readEvents("test", aggregateIdentifier);
        assertEquals(0L, stream.peek().getSequenceNumber());
    }
View Full Code Here

                serializer.serialize(stubDomainEvent.getMetaData(), byte[].class));
        entityManager.persist(entry);
        entityManager.flush();
        entityManager.clear();

        DomainEventStream stream = testSubject.readEvents("test", aggregateIdentifier);
        assertEquals(0L, stream.peek().getSequenceNumber());
    }
View Full Code Here

                                                                                      MetaData.emptyInstance()
        ));
        entityManager.flush();
        entityManager.clear();

        DomainEventStream events = testSubject.readEvents("test", aggregateIdentifier);
        long t = 30L;
        while (events.hasNext()) {
            DomainEventMessage event = events.next();
            assertEquals(t, event.getSequenceNumber());
            t++;
        }
        assertEquals(110L, t);
    }
View Full Code Here

TOP

Related Classes of org.axonframework.domain.DomainEventStream

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.