io.vlingo.symbio.StateAdapterProvider Java Examples
The following examples show how to use
io.vlingo.symbio.StateAdapterProvider.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: QueryModelStoreProvider.java From vlingo-examples with Mozilla Public License 2.0 | 6 votes |
@SuppressWarnings("rawtypes") public static QueryModelStoreProvider using(final Stage stage, final StatefulTypeRegistry registry) { if (instance != null) return instance; final StateAdapterProvider stateAdapterProvider = new StateAdapterProvider(stage.world()); stateAdapterProvider.registerAdapter(UserData.class, new UserDataStateAdapter()); stateAdapterProvider.registerAdapter(ProfileData.class, new ProfileDataStateAdapter()); new EntryAdapterProvider(stage.world()); // future final Dispatcher noop = new Dispatcher() { public void controlWith(final DispatcherControl control) { } public void dispatch(Dispatchable d) { } }; final StateStore store = stage.actorFor(StateStore.class, InMemoryStateStoreActor.class, Arrays.asList(noop)); final Queries queries = stage.actorFor(Queries.class, QueriesActor.class, store); instance = new QueryModelStoreProvider(registry, store, queries); return instance; }
Example #2
Source File: InMemoryObjectStoreActor.java From vlingo-symbio with Mozilla Public License 2.0 | 6 votes |
@SuppressWarnings({ "unchecked", "rawtypes" }) public InMemoryObjectStoreActor( final List<Dispatcher<Dispatchable<BaseEntry<?>,State<?>>>> dispatchers, final long checkConfirmationExpirationInterval, final long confirmationExpiration ) { this.entryAdapterProvider = EntryAdapterProvider.instance(stage().world()); this.dispatchers = dispatchers; this.entryReaders = new HashMap<>(); this.storeDelegate = new InMemoryObjectStoreDelegate(StateAdapterProvider.instance(stage().world())); this.dispatcherControl = stage().actorFor( DispatcherControl.class, Definition.has( DispatcherControlActor.class, new DispatcherControlInstantiator( dispatchers, this.storeDelegate, checkConfirmationExpirationInterval, confirmationExpiration))); }
Example #3
Source File: InMemoryStateStoreTest.java From vlingo-symbio with Mozilla Public License 2.0 | 6 votes |
@Before public void setUp() { testWorld = TestWorld.startWithDefaults("test-store"); world = testWorld.world(); interest = new MockStateStoreResultInterest(); dispatcher = new MockStateStoreDispatcher(interest); dispatcher.afterCompleting(0); // avoid NPE final StateAdapterProvider stateAdapterProvider = new StateAdapterProvider(world); new EntryAdapterProvider(world); stateAdapterProvider.registerAdapter(Entity1.class, new Entity1StateAdapter()); // NOTE: No adapter registered for Entity2.class because it will use the default store = world.actorFor(StateStore.class, InMemoryStateStoreActor.class, Arrays.asList(dispatcher)); StateTypeStateStoreMap.stateTypeToStoreName(Entity1.class, StoreName1); StateTypeStateStoreMap.stateTypeToStoreName(Entity2.class, StoreName2); }
Example #4
Source File: InMemoryStateStoreRedispatchControlTest.java From vlingo-symbio with Mozilla Public License 2.0 | 6 votes |
@Before public void setUp() { world = World.startWithDefaults("test-store"); interest = new MockStateStoreResultInterest(); dispatcher = new MockStateStoreDispatcher(interest); final StateAdapterProvider stateAdapterProvider = new StateAdapterProvider(world); new EntryAdapterProvider(world); stateAdapterProvider.registerAdapter(Entity1.class, new Entity1StateAdapter()); // NOTE: No adapter registered for Entity2.class because it will use the default StateTypeStateStoreMap.stateTypeToStoreName(Entity1.class, StoreName); store = world.actorFor(StateStore.class, InMemoryStateStoreActor.class, Arrays.asList(dispatcher)); }
Example #5
Source File: InMemoryStateStoreEntryReaderActorTest.java From vlingo-symbio with Mozilla Public License 2.0 | 6 votes |
@Before public void setUp() { testWorld = TestWorld.startWithDefaults("test-store"); world = testWorld.world(); interest = new MockStateStoreResultInterest(); dispatcher = new MockStateStoreDispatcher(interest); final StateAdapterProvider stateAdapterProvider = new StateAdapterProvider(world); entryAdapterProvider = new EntryAdapterProvider(world); stateAdapterProvider.registerAdapter(Entity1.class, new Entity1StateAdapter()); // NOTE: No adapter registered for Entity2.class because it will use the default store = world.actorFor(StateStore.class, InMemoryStateStoreActor.class, Arrays.asList(dispatcher)); final Completes<StateStoreEntryReader<TextEntry>> completes = store.entryReader("test"); reader = completes.await(); StateTypeStateStoreMap.stateTypeToStoreName(Entity1.class, Entity1.class.getSimpleName()); StateTypeStateStoreMap.stateTypeToStoreName(Entity2.class, Entity2.class.getSimpleName()); }
Example #6
Source File: CommandModelStoreProvider.java From vlingo-examples with Mozilla Public License 2.0 | 6 votes |
@SuppressWarnings("rawtypes") public static CommandModelStoreProvider using(final Stage stage, final StatefulTypeRegistry registry, final Dispatcher dispatcher) { if (instance != null) return instance; final StateAdapterProvider stateAdapterProvider = new StateAdapterProvider(stage.world()); stateAdapterProvider.registerAdapter(UserState.class, new UserStateAdapter()); stateAdapterProvider.registerAdapter(ProfileState.class, new ProfileStateAdapter()); stateAdapterProvider.registerAdapter(UserData.class, new UserDataStateAdapter()); stateAdapterProvider.registerAdapter(ProfileData.class, new ProfileDataStateAdapter()); new EntryAdapterProvider(stage.world()); // future final Protocols storeProtocols = stage.actorFor( new Class<?>[] { StateStore.class, DispatcherControl.class }, Definition.has(InMemoryStateStoreActor.class, Definition.parameters(Arrays.asList(dispatcher)))); final Protocols.Two<StateStore, DispatcherControl> storeWithControl = Protocols.two(storeProtocols); instance = new CommandModelStoreProvider(registry, storeWithControl._1, storeWithControl._2); return instance; }
Example #7
Source File: InMemoryJournal.java From vlingo-symbio with Mozilla Public License 2.0 | 5 votes |
@SuppressWarnings({ "rawtypes", "unchecked" }) public InMemoryJournal( final List<Dispatcher<Dispatchable<Entry<T>,RS>>> dispatchers, final World world, final long checkConfirmationExpirationInterval, final long confirmationExpiration) { this.entryAdapterProvider = EntryAdapterProvider.instance(world); this.stateAdapterProvider = StateAdapterProvider.instance(world); this.journal = new ArrayList<>(); this.journalReaders = new HashMap<>(1); this.streamReaders = new HashMap<>(1); this.streamIndexes = new HashMap<>(); this.snapshots = new HashMap<>(); this.dispatchers = dispatchers; this.dispatchables = new CopyOnWriteArrayList<>(); final InMemoryDispatcherControlDelegate<Entry<T>, RS> dispatcherControlDelegate = new InMemoryDispatcherControlDelegate<>(dispatchables); this.dispatcherControl = world.stage().actorFor( DispatcherControl.class, Definition.has( DispatcherControlActor.class, new DispatcherControlInstantiator( dispatchers, dispatcherControlDelegate, checkConfirmationExpirationInterval, confirmationExpiration))); }
Example #8
Source File: InMemoryStateStoreActor.java From vlingo-symbio with Mozilla Public License 2.0 | 5 votes |
@SuppressWarnings({ "unchecked", "rawtypes" }) public InMemoryStateStoreActor( final List<Dispatcher<Dispatchable<Entry<?>, RS>>> dispatchers, final long checkConfirmationExpirationInterval, final long confirmationExpiration) { if (dispatchers == null) { throw new IllegalArgumentException("Dispatcher must not be null."); } this.dispatchers = dispatchers; this.entryAdapterProvider = EntryAdapterProvider.instance(stage().world()); this.stateAdapterProvider = StateAdapterProvider.instance(stage().world()); this.entries = new CopyOnWriteArrayList<>(); this.entryReaders = new HashMap<>(); this.store = new HashMap<>(); this.dispatchables = new CopyOnWriteArrayList<>(); this.readAllResultCollector = new ReadAllResultCollector(); final InMemoryDispatcherControlDelegate<Entry<?>, RS> dispatcherControlDelegate = new InMemoryDispatcherControlDelegate<>(dispatchables); this.dispatcherControl = stage().actorFor( DispatcherControl.class, Definition.has( DispatcherControlActor.class, new DispatcherControlInstantiator( dispatchers, dispatcherControlDelegate, checkConfirmationExpirationInterval, confirmationExpiration))); }
Example #9
Source File: InMemoryObjectStoreDelegate.java From vlingo-symbio with Mozilla Public License 2.0 | 5 votes |
public InMemoryObjectStoreDelegate(final StateAdapterProvider stateAdapterProvider) { this.stateAdapterProvider = stateAdapterProvider; this.stores = new HashMap<>(); this.entries = new ArrayList<>(); this.dispatchables = new CopyOnWriteArrayList<>(); this.identityGenerator = new IdentityGenerator.RandomIdentityGenerator(); this.nextId = 1; }
Example #10
Source File: InMemoryEventJournalActorTest.java From vlingo-symbio with Mozilla Public License 2.0 | 5 votes |
@Before public void setUp() { world = World.startWithDefaults("test-journal"); this.dispatcher = new MockDispatcher<>(new MockConfirmDispatchedResultInterest()); journal = Journal.using(world.stage(), InMemoryJournalActor.class, this.dispatcher); EntryAdapterProvider.instance(world).registerAdapter(Test1Source.class, new Test1SourceAdapter()); EntryAdapterProvider.instance(world).registerAdapter(Test2Source.class, new Test2SourceAdapter()); StateAdapterProvider.instance(world).registerAdapter(SnapshotState.class, new SnapshotStateAdapter()); }
Example #11
Source File: SourcedTypeRegistry.java From vlingo-lattice with Mozilla Public License 2.0 | 5 votes |
/** * Construct my default state. * @param journal the {@code Journal<T>} of the registration * @param sourcedType the {@code Class<Sourced<T>>} of the registration * @param sourcedName the String name of the sourcedType */ public Info(final Journal<T> journal, final Class<Sourced<T>> sourcedType, final String sourcedName) { this.journal = journal; this.sourcedType = sourcedType; this.sourcedName = sourcedName; this.entryAdapterProvider = new EntryAdapterProvider(); this.stateAdapterProvider = new StateAdapterProvider(); }
Example #12
Source File: ProjectionDispatcherTest.java From vlingo-lattice with Mozilla Public License 2.0 | 5 votes |
@Before public void setUp() { world = World.startWithDefaults("test-store"); final StateAdapterProvider stateAdapterProvider = new StateAdapterProvider(world); stateAdapterProvider.registerAdapter(Entity1State.class, new Entity1StateAdapter()); new EntryAdapterProvider(world); StateTypeStateStoreMap.stateTypeToStoreName(Entity1.class, Entity1.class.getSimpleName()); StateTypeStateStoreMap.stateTypeToStoreName(Entity2.class, Entity2.class.getSimpleName()); final Protocols dispatcherProtocols = world.actorFor( new Class<?>[] { dispatcherInterfaceClass(), ProjectionDispatcher.class }, projectionDispatcherClass()); final Protocols.Two<Dispatcher, ProjectionDispatcher> dispatchers = Protocols.two(dispatcherProtocols); dispatcher = dispatchers._1; projectionDispatcher = dispatchers._2; final Protocols storeProtocols = world.actorFor( new Class<?>[] { stateStoreInterfaceClass(), DispatcherControl.class }, InMemoryStateStoreActor.class, Arrays.asList(dispatcher)); final Protocols.Two<StateStore, DispatcherControl> storeWithControl = Protocols.two(storeProtocols); store = storeWithControl._1; dispatcherControl = storeWithControl._2; }
Example #13
Source File: StatefulEntityTest.java From vlingo-lattice with Mozilla Public License 2.0 | 5 votes |
@Before public void setUp() { world = World.startWithDefaults("stateful-entity"); dispatcher = new MockTextDispatcher(); stateAdapterProvider = new StateAdapterProvider(world); stateAdapterProvider.registerAdapter(Entity1State.class, new Entity1StateAdapter()); new EntryAdapterProvider(world); registry = new StatefulTypeRegistry(world); store = world.actorFor(StateStore.class, InMemoryStateStoreActor.class, Arrays.asList(dispatcher)); registry.register(new Info<>(store, Entity1State.class, Entity1State.class.getSimpleName())); }
Example #14
Source File: CartQueryProvider.java From vlingo-examples with Mozilla Public License 2.0 | 4 votes |
private static void registerStateAdapter(Stage stage) { final StateAdapterProvider stateAdapterProvider = new StateAdapterProvider(stage.world()); stateAdapterProvider.registerAdapter(CartUserSummaryData.class, new CartStateAdapter()); stateAdapterProvider.registerAdapter(UserId.class, new UserIdStateAdapter() ); new EntryAdapterProvider(stage.world()); // future? }
Example #15
Source File: StateStream.java From vlingo-symbio with Mozilla Public License 2.0 | 4 votes |
public StateSource(final Map<String, RS> states, final StateAdapterProvider stateAdapterProvider, final long flowElementsRate) { this.states = states; this.iterator = states.keySet().iterator(); this.stateAdapterProvider = stateAdapterProvider; this.flowElementsRate = flowElementsRate; }
Example #16
Source File: StateStream.java From vlingo-symbio with Mozilla Public License 2.0 | 4 votes |
public StateStream(final Stage stage, final Map<String, RS> states, final StateAdapterProvider stateAdapterProvider) { this.stage = stage; this.stateAdapterProvider = stateAdapterProvider; this.states = states; }
Example #17
Source File: SourcedTypeRegistry.java From vlingo-lattice with Mozilla Public License 2.0 | 2 votes |
/** * Answer my {@code StateAdapterProvider} instance. * @return StateAdapterProvider */ public StateAdapterProvider stateAdapterProvider() { return stateAdapterProvider; }