public MemoryJournalTest() { super(new MemoryJournal()); } }
@Override @SuppressWarnings("unchecked") public <T extends Entity> long size(Class<T> klass) { if (Event.class.isAssignableFrom(klass)) { return Iterators.size(eventIterator((Class<Event>) klass)); } if (Command.class.isAssignableFrom(klass)) { return Iterators.size(commandIterator((Class<Command<?, ?>>) klass)); } return 0; }
@Override protected void doStart() { if (repository == null) { notifyFailed(new IllegalStateException("repository == null")); } notifyStarted(); }
@Override protected void doStop() { notifyStopped(); }
@Override protected void doStop() { notifyStopped(); }
protected Journal createJournal() { return new MemoryJournal(); } }
@Override @SuppressWarnings("unchecked") public <T extends Entity> boolean isEmpty(Class<T> klass) { if (Event.class.isAssignableFrom(klass)) { return !eventIterator((Class<Event>) klass).hasNext(); } if (Command.class.isAssignableFrom(klass)) { return !commandIterator((Class<Command<?, ?>>) klass).hasNext(); } return true; }
@Override protected void doStart() { if (repository == null) { notifyFailed(new IllegalStateException("repository == null")); } notifyStarted(); }
@Test(expectedExceptions = IndexEngine.IndexNotSupported.class) @SneakyThrows public void exhaustingOptions() { MemoryJournal journal = new MemoryJournal(); CascadingIndexEngine indexEngine = new CascadingIndexEngine(new FailingIndexEngine()); indexEngine.setJournal(journal); indexEngine.getIndexOnAttribute(INDEX, IndexEngine.IndexFeature.LT); }
@Override @SuppressWarnings("unchecked") public <T extends Entity> boolean isEmpty(Class<T> klass) { if (Event.class.isAssignableFrom(klass)) { return !eventIterator((Class<Event>) klass).hasNext(); } if (Command.class.isAssignableFrom(klass)) { return !commandIterator((Class<Command<?, ?>>) klass).hasNext(); } return true; }
@Test @SneakyThrows public void cascading() { MemoryJournal journal = new MemoryJournal(); CascadingIndexEngine indexEngine = new CascadingIndexEngine(new FailingIndexEngine(), new MemoryIndexEngine()); indexEngine.setJournal(journal); assertNotNull(indexEngine.getIndexOnAttribute(INDEX, IndexEngine.IndexFeature.LT)); }
@Override @SuppressWarnings("unchecked") public <T extends Entity> long size(Class<T> klass) { if (Event.class.isAssignableFrom(klass)) { return Iterators.size(eventIterator((Class<Event>) klass)); } if (Command.class.isAssignableFrom(klass)) { return Iterators.size(commandIterator((Class<Command<?, ?>>) klass)); } return 0; }
@SneakyThrows public IndexEngineTest(T indexEngine) { this.indexEngine = indexEngine; repository = new StandardRepository(); journal = new MemoryJournal(); journal.setRepository(repository); repository.setJournal(journal); repository.addCommandSetProvider(new PackageCommandSetProvider(new Package[]{getClass().getPackage()})); repository.addEventSetProvider(new PackageEventSetProvider(new Package[]{getClass().getPackage()})); repository.setIndexEngine(indexEngine); repository.setLockProvider(new LocalLockProvider()); timeProvider = new NTPServerTimeProvider(new String[]{"localhost"}); repository.setPhysicalTimeProvider(timeProvider); indexEngine.setJournal(journal); indexEngine.setRepository(repository); }
@BeforeMethod public void setUp() throws Exception { repository = new StandardRepository(); repository.addCommandSetProvider( new PackageCommandSetProvider(new Package[]{EntityQueryFactoryTest.class.getPackage()})); repository.addEventSetProvider( new PackageEventSetProvider(new Package[]{EntityQueryFactoryTest.class.getPackage()})); repository.setJournal(new MemoryJournal()); NTPServerTimeProvider timeProvider = new NTPServerTimeProvider(new String[]{"localhost"}); repository.setPhysicalTimeProvider(timeProvider); repository.setIndexEngine(new MemoryIndexEngine()); repository.setLockProvider(new LocalLockProvider()); repository.startAsync().awaitRunning(); }
@BeforeMethod public void setUp() throws Exception { repository = StandardRepository.builder() .journal(new MemoryJournal()) .indexEngine(new MemoryIndexEngine()).build(); repository.startAsync().awaitRunning(); // Add commands/events after the startup, to simulate production better repository.addCommandSetProvider(new PackageCommandSetProvider(packages)); repository.addEventSetProvider(new PackageEventSetProvider(packages)); }
@BeforeMethod public void setUp() throws Exception { timeProvider = new NTPServerTimeProvider(new String[]{"localhost"}); repository = new StandardRepository(); repository.setPhysicalTimeProvider(timeProvider); repository.setJournal(new MemoryJournal()); repository.setIndexEngine(new MemoryIndexEngine()); lockProvider = new LocalLockProvider(); repository.setLockProvider(lockProvider); repository.startAsync().awaitRunning(); // Add commands/events after the startup, to simulate production better repository.addCommandSetProvider(new PackageCommandSetProvider(packages)); repository.addEventSetProvider(new PackageEventSetProvider(packages)); }