test_class.declarator: requestFactory =
              new TestActorRequestFactory(getClass(), TenantId.newBuilder()
                                                              .setValue(newUuid())
                                                              .build())
test_class.modifier: private final
test_class.original_string: private final TestActorRequestFactory requestFactory =
              new TestActorRequestFactory(getClass(), TenantId.newBuilder()
                                                              .setValue(newUuid())
                                                              .build());
test_class.type: TestActorRequestFactory
test_class.var_name: requestFactory
test_class.declarator: context
test_class.modifier: private
test_class.original_string: private BoundedContext context;
test_class.type: BoundedContext
test_class.var_name: context
test_class.file: server/src/test/java/io/spine/server/procman/ProcessManagerRepositoryTest.java
test_class.identifier: ProcessManagerRepositoryTest
test_class.superclass: extends RecordBasedRepositoryTest<TestProcessManager, ProjectId, Project>
test_case.body: @Test
      @DisplayName("update multiple entities via a custom migration")
      void performCustomMigrationForMultiple() {
          // Store three entities to the repository.
          ProjectId id1 = createId(1);
          ProjectId id2 = createId(2);
          ProjectId id3 = createId(3);
          TestProcessManagerRepository repository = repository();
          TestProcessManager pm1 = new TestProcessManager(id1);
          TestProcessManager pm2 = new TestProcessManager(id2);
          TestProcessManager pm3 = new TestProcessManager(id3);
          repository.store(pm1);
          repository.store(pm2);
          repository.store(pm3);
  
          // Init filters by the `name` column.
          TargetFilters filters = targetFilters(Project.Column.name(), SetTestProcessName.NEW_NAME);
  
          // Check nothing is found as the entity states were not yet updated.
          Iterator<TestProcessManager> found =
                  repository.find(filters, ResponseFormat.getDefaultInstance());
          assertThat(found.hasNext()).isFalse();
  
          // Apply the column update to two of the three entities.
          repository.applyMigration(ImmutableSet.of(id1, id2), new SetTestProcessName());
  
          // Check the entities are now found by the provided filters.
          Iterator<TestProcessManager> foundAfterMigration =
                  repository.find(filters, ResponseFormat.getDefaultInstance());
  
          ImmutableList<TestProcessManager> results = ImmutableList.copyOf(foundAfterMigration);
          Project expectedState1 = pm1
                  .state()
                  .toBuilder()
                  .setName(SetTestProcessName.NEW_NAME)
                  .setIdString(pm1.getIdString())
                  .build();
          Project expectedState2 = pm2
                  .state()
                  .toBuilder()
                  .setName(SetTestProcessName.NEW_NAME)
                  .setIdString(pm2.getIdString())
                  .build();
          assertThat(results).hasSize(2);
          assertThat(results)
                  .comparingElementsUsing(entityState())
                  .containsExactly(expectedState1, expectedState2);
      }
test_case.class_method_signature: ProcessManagerRepositoryTest.performCustomMigrationForMultiple()
test_case.full_signature: @Test @DisplayName("update multiple entities via a custom migration") void performCustomMigrationForMultiple()
test_case.identifier: performCustomMigrationForMultiple
test_case.invocations: createId createId createId repository store store store targetFilters name find getDefaultInstance isFalse assertThat hasNext applyMigration of find getDefaultInstance copyOf build setIdString setName toBuilder state getIdString build setIdString setName toBuilder state getIdString hasSize assertThat containsExactly comparingElementsUsing assertThat entityState
test_case.modifiers: @Test @DisplayName("update multiple entities via a custom migration")
test_case.parameters: ()
test_case.return: void
test_case.signature: void performCustomMigrationForMultiple()
focal_class.declarator: commandRouting
focal_class.modifier: private final
focal_class.original_string: private final Supplier<CommandRouting<I>> commandRouting;
focal_class.type: Supplier<CommandRouting<I>>
focal_class.var_name: commandRouting
focal_class.declarator: inbox
focal_class.modifier: private @MonotonicNonNull
focal_class.original_string: private @MonotonicNonNull Inbox<I> inbox;
focal_class.type: Inbox<I>
focal_class.var_name: inbox
focal_class.declarator: cache
focal_class.modifier: private @MonotonicNonNull
focal_class.original_string: private @MonotonicNonNull RepositoryCache<I, P> cache;
focal_class.type: RepositoryCache<I, P>
focal_class.var_name: cache
focal_class.file: server/src/main/java/io/spine/server/procman/ProcessManagerRepository.java
focal_class.identifier: ProcessManagerRepository
focal_class.interfaces: implements CommandDispatcherDelegate, EventProducingRepository
focal_class.class_method_signature: ProcessManagerRepository.ProcessManagerRepository()
focal_class.full_signature: protected  ProcessManagerRepository()
focal_class.identifier: ProcessManagerRepository
focal_class.modifiers: protected
focal_class.parameters: ()
focal_class.signature:  ProcessManagerRepository()
focal_class.class_method_signature: ProcessManagerRepository.processManagerClass()
focal_class.full_signature: private ProcessManagerClass<P> processManagerClass()
focal_class.identifier: processManagerClass
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: ProcessManagerClass<P>
focal_class.signature: ProcessManagerClass<P> processManagerClass()
focal_class.class_method_signature: ProcessManagerRepository.toModelClass(Class<P> cls)
focal_class.full_signature: @Internal @Override protected final ProcessManagerClass<P> toModelClass(Class<P> cls)
focal_class.identifier: toModelClass
focal_class.modifiers: @Internal @Override protected final
focal_class.parameters: (Class<P> cls)
focal_class.return: ProcessManagerClass<P>
focal_class.signature: ProcessManagerClass<P> toModelClass(Class<P> cls)
focal_class.class_method_signature: ProcessManagerRepository.registerWith(BoundedContext context)
focal_class.full_signature: @Override @OverridingMethodsMustInvokeSuper public void registerWith(BoundedContext context)
focal_class.identifier: registerWith
focal_class.modifiers: @Override @OverridingMethodsMustInvokeSuper public
focal_class.parameters: (BoundedContext context)
focal_class.return: void
focal_class.signature: void registerWith(BoundedContext context)
focal_class.class_method_signature: ProcessManagerRepository.eventBus()
focal_class.full_signature: @Override public final EventBus eventBus()
focal_class.identifier: eventBus
focal_class.modifiers: @Override public final
focal_class.parameters: ()
focal_class.return: EventBus
focal_class.signature: EventBus eventBus()
focal_class.class_method_signature: ProcessManagerRepository.initCache(boolean multitenant)
focal_class.full_signature: private void initCache(boolean multitenant)
focal_class.identifier: initCache
focal_class.modifiers: private
focal_class.parameters: (boolean multitenant)
focal_class.return: void
focal_class.signature: void initCache(boolean multitenant)
focal_class.class_method_signature: ProcessManagerRepository.initInbox()
focal_class.full_signature: private void initInbox()
focal_class.identifier: initInbox
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void initInbox()
focal_class.class_method_signature: ProcessManagerRepository.inbox()
focal_class.full_signature: private Inbox<I> inbox()
focal_class.identifier: inbox
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: Inbox<I>
focal_class.signature: Inbox<I> inbox()
focal_class.class_method_signature: ProcessManagerRepository.setupEventRouting(EventRouting<I> routing)
focal_class.full_signature: @Override @OverridingMethodsMustInvokeSuper protected void setupEventRouting(EventRouting<I> routing)
focal_class.identifier: setupEventRouting
focal_class.modifiers: @Override @OverridingMethodsMustInvokeSuper protected
focal_class.parameters: (EventRouting<I> routing)
focal_class.return: void
focal_class.signature: void setupEventRouting(EventRouting<I> routing)
focal_class.class_method_signature: ProcessManagerRepository.setupCommandRouting(CommandRouting<I> routing)
focal_class.full_signature: @SuppressWarnings("NoopMethodInAbstractClass") // See Javadoc protected void setupCommandRouting(CommandRouting<I> routing)
focal_class.identifier: setupCommandRouting
focal_class.modifiers: @SuppressWarnings("NoopMethodInAbstractClass") // See Javadoc protected
focal_class.parameters: (CommandRouting<I> routing)
focal_class.return: void
focal_class.signature: void setupCommandRouting(CommandRouting<I> routing)
focal_class.class_method_signature: ProcessManagerRepository.checkNotDeaf()
focal_class.full_signature: private void checkNotDeaf()
focal_class.identifier: checkNotDeaf
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void checkNotDeaf()
focal_class.class_method_signature: ProcessManagerRepository.messageClasses()
focal_class.full_signature: @Override public final ImmutableSet<EventClass> messageClasses()
focal_class.identifier: messageClasses
focal_class.modifiers: @Override public final
focal_class.parameters: ()
focal_class.return: ImmutableSet<EventClass>
focal_class.signature: ImmutableSet<EventClass> messageClasses()
focal_class.class_method_signature: ProcessManagerRepository.domesticEventClasses()
focal_class.full_signature: @Override public final ImmutableSet<EventClass> domesticEventClasses()
focal_class.identifier: domesticEventClasses
focal_class.modifiers: @Override public final
focal_class.parameters: ()
focal_class.return: ImmutableSet<EventClass>
focal_class.signature: ImmutableSet<EventClass> domesticEventClasses()
focal_class.class_method_signature: ProcessManagerRepository.externalEventClasses()
focal_class.full_signature: @Override public final ImmutableSet<EventClass> externalEventClasses()
focal_class.identifier: externalEventClasses
focal_class.modifiers: @Override public final
focal_class.parameters: ()
focal_class.return: ImmutableSet<EventClass>
focal_class.signature: ImmutableSet<EventClass> externalEventClasses()
focal_class.class_method_signature: ProcessManagerRepository.commandClasses()
focal_class.full_signature: @Override public final ImmutableSet<CommandClass> commandClasses()
focal_class.identifier: commandClasses
focal_class.modifiers: @Override public final
focal_class.parameters: ()
focal_class.return: ImmutableSet<CommandClass>
focal_class.signature: ImmutableSet<CommandClass> commandClasses()
focal_class.class_method_signature: ProcessManagerRepository.commandRouting()
focal_class.full_signature: private CommandRouting<I> commandRouting()
focal_class.identifier: commandRouting
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: CommandRouting<I>
focal_class.signature: CommandRouting<I> commandRouting()
focal_class.class_method_signature: ProcessManagerRepository.outgoingEvents()
focal_class.full_signature: @Override public ImmutableSet<EventClass> outgoingEvents()
focal_class.identifier: outgoingEvents
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: ImmutableSet<EventClass>
focal_class.signature: ImmutableSet<EventClass> outgoingEvents()
focal_class.class_method_signature: ProcessManagerRepository.dispatchCommand(CommandEnvelope command)
focal_class.full_signature: @Override public final void dispatchCommand(CommandEnvelope command)
focal_class.identifier: dispatchCommand
focal_class.modifiers: @Override public final
focal_class.parameters: (CommandEnvelope command)
focal_class.return: void
focal_class.signature: void dispatchCommand(CommandEnvelope command)
focal_class.class_method_signature: ProcessManagerRepository.route(CommandEnvelope cmd)
focal_class.full_signature: private Optional<I> route(CommandEnvelope cmd)
focal_class.identifier: route
focal_class.modifiers: private
focal_class.parameters: (CommandEnvelope cmd)
focal_class.return: Optional<I>
focal_class.signature: Optional<I> route(CommandEnvelope cmd)
focal_class.class_method_signature: ProcessManagerRepository.onCommandTargetSet(I id, CommandEnvelope cmd)
focal_class.full_signature: private void onCommandTargetSet(I id, CommandEnvelope cmd)
focal_class.identifier: onCommandTargetSet
focal_class.modifiers: private
focal_class.parameters: (I id, CommandEnvelope cmd)
focal_class.return: void
focal_class.signature: void onCommandTargetSet(I id, CommandEnvelope cmd)
focal_class.class_method_signature: ProcessManagerRepository.onRoutingFailed(SignalEnvelope<?, ?, ?> envelope, Throwable cause)
focal_class.full_signature: @Internal @Override protected final void onRoutingFailed(SignalEnvelope<?, ?, ?> envelope, Throwable cause)
focal_class.identifier: onRoutingFailed
focal_class.modifiers: @Internal @Override protected final
focal_class.parameters: (SignalEnvelope<?, ?, ?> envelope, Throwable cause)
focal_class.return: void
focal_class.signature: void onRoutingFailed(SignalEnvelope<?, ?, ?> envelope, Throwable cause)
focal_class.class_method_signature: ProcessManagerRepository.dispatchTo(I id, Event event)
focal_class.full_signature: @Override protected final void dispatchTo(I id, Event event)
focal_class.identifier: dispatchTo
focal_class.modifiers: @Override protected final
focal_class.parameters: (I id, Event event)
focal_class.return: void
focal_class.signature: void dispatchTo(I id, Event event)
focal_class.class_method_signature: ProcessManagerRepository.beginTransactionFor(P manager)
focal_class.full_signature: @SuppressWarnings("unchecked") // to avoid massive generic-related issues. @VisibleForTesting protected PmTransaction<?, ?, ?> beginTransactionFor(P manager)
focal_class.identifier: beginTransactionFor
focal_class.modifiers: @SuppressWarnings("unchecked") // to avoid massive generic-related issues. @VisibleForTesting protected
focal_class.parameters: (P manager)
focal_class.return: PmTransaction<?, ?, ?>
focal_class.signature: PmTransaction<?, ?, ?> beginTransactionFor(P manager)
focal_class.class_method_signature: ProcessManagerRepository.postCommands(Collection<Command> commands)
focal_class.full_signature: final void postCommands(Collection<Command> commands)
focal_class.identifier: postCommands
focal_class.modifiers: final
focal_class.parameters: (Collection<Command> commands)
focal_class.return: void
focal_class.signature: void postCommands(Collection<Command> commands)
focal_class.class_method_signature: ProcessManagerRepository.toEntity(EntityRecord record)
focal_class.full_signature: @Override protected final P toEntity(EntityRecord record)
focal_class.identifier: toEntity
focal_class.modifiers: @Override protected final
focal_class.parameters: (EntityRecord record)
focal_class.return: P
focal_class.signature: P toEntity(EntityRecord record)
focal_class.class_method_signature: ProcessManagerRepository.create(I id)
focal_class.full_signature: @OverridingMethodsMustInvokeSuper @Override public P create(I id)
focal_class.identifier: create
focal_class.modifiers: @OverridingMethodsMustInvokeSuper @Override public
focal_class.parameters: (I id)
focal_class.return: P
focal_class.signature: P create(I id)
focal_class.class_method_signature: ProcessManagerRepository.configure(@SuppressWarnings("unused") P processManager)
focal_class.full_signature: @SuppressWarnings("NoopMethodInAbstractClass") // see Javadoc protected void configure(@SuppressWarnings("unused") P processManager)
focal_class.identifier: configure
focal_class.modifiers: @SuppressWarnings("NoopMethodInAbstractClass") // see Javadoc protected
focal_class.parameters: (@SuppressWarnings("unused") P processManager)
focal_class.return: void
focal_class.signature: void configure(@SuppressWarnings("unused") P processManager)
focal_class.class_method_signature: ProcessManagerRepository.findOrCreate(I id)
focal_class.full_signature: @Override protected final P findOrCreate(I id)
focal_class.identifier: findOrCreate
focal_class.modifiers: @Override protected final
focal_class.parameters: (I id)
focal_class.return: P
focal_class.signature: P findOrCreate(I id)
focal_class.class_method_signature: ProcessManagerRepository.doFindOrCreate(I id)
focal_class.full_signature: private P doFindOrCreate(I id)
focal_class.identifier: doFindOrCreate
focal_class.modifiers: private
focal_class.parameters: (I id)
focal_class.return: P
focal_class.signature: P doFindOrCreate(I id)
focal_class.class_method_signature: ProcessManagerRepository.store(P entity)
focal_class.full_signature: @Override public final void store(P entity)
focal_class.identifier: store
focal_class.modifiers: @Override public final
focal_class.parameters: (P entity)
focal_class.return: void
focal_class.signature: void store(P entity)
focal_class.class_method_signature: ProcessManagerRepository.doStore(P entity)
focal_class.full_signature: private void doStore(P entity)
focal_class.identifier: doStore
focal_class.modifiers: private
focal_class.parameters: (P entity)
focal_class.return: void
focal_class.signature: void doStore(P entity)
focal_class.class_method_signature: ProcessManagerRepository.close()
focal_class.full_signature: @OverridingMethodsMustInvokeSuper @Override public void close()
focal_class.identifier: close
focal_class.modifiers: @OverridingMethodsMustInvokeSuper @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void close()
focal_class.superclass: extends EventDispatchingRepository<I, P, S>
focal_method.body: @Override
      public final void store(P entity) {
          cache.store(entity);
      }
focal_method.class_method_signature: ProcessManagerRepository.store(P entity)
focal_method.full_signature: @Override public final void store(P entity)
focal_method.identifier: store
focal_method.invocations: store
focal_method.modifiers: @Override public final
focal_method.parameters: (P entity)
focal_method.return: void
focal_method.signature: void store(P entity)