Class CalendarServerSeedRegistry

java.lang.Object
org.exoplatform.caldav.service.CalendarServerSeedRegistry

@Service public class CalendarServerSeedRegistry extends Object
The server seeds installed on this platform (EXO-90737), and the one question the host asks of them on a first install: which rows, besides its own default, a fresh registry receives.

A @Service like the other calendar registries, whose contributions are read on each question through the bean factory. That is what makes a seed of a web application booting after this one visible at seeding time: the Kernel/Spring bridge registers every web application's exported beans into every other context before any context creates its singletons, so the definition is there whenever the question is asked, and asking it creates the contribution on demand when its own context has not reached it yet.

  • Constructor Details

    • CalendarServerSeedRegistry

      @Autowired public CalendarServerSeedRegistry(org.springframework.beans.factory.ObjectProvider<CalendarServerSeed> seeds)
      The registry over every contributed seed.
      Parameters:
      seeds - the contributions, from every web application, each read on its own so that one which cannot be created is left out (ContributedBeans); null reads as none
  • Method Details

    • of

      The registry over a fixed list of seeds, as a test states them.
      Parameters:
      seeds - the seeds, in the order the bean factory would give them; may be null for none
      Returns:
      the registry
    • effectiveSeeds

      public List<CalendarServerSeed> effectiveSeeds()
      The seeds a fresh registry receives: every contribution in order, the first one for each identifier (ignoring case) and none after it, leaving out — with a warning — a contribution that cannot say what it seeds.
      Returns:
      the effective seeds, in order, never null