protected void configure()

in src/main/java/com/googlesource/gerrit/plugins/verifystatus/GlobalModule.java [52:101]


  protected void configure() {
    bind(CapabilityDefinition.class)
        .annotatedWith(Exports.named(AccessCiDatabaseCapability.ID))
        .to(AccessCiDatabaseCapability.class);
    bind(CapabilityDefinition.class)
        .annotatedWith(Exports.named(SaveReportCapability.ID))
        .to(SaveReportCapability.class);
    List<Module> modules = new ArrayList<>();
    modules.add(
        new LifecycleModule() {
          @Override
          protected void configure() {
            // For bootstrap we need to retrieve the ds type first
            CiDataSourceTypeGuesser guesser =
                injector
                    .createChildInjector(new CiDataSourceModule())
                    .getInstance(Key.get(CiDataSourceTypeGuesser.class));

            // For the ds type we retrieve the underlying implementation
            CiDataSourceType dst =
                injector
                    .createChildInjector(new CiDataSourceModule())
                    .getInstance(
                        Key.get(
                            CiDataSourceType.class, Names.named(guesser.guessDataSourceType())));
            // Bind the type to the retrieved instance
            bind(CiDataSourceType.class).toInstance(dst);
            bind(CiDataSourceProvider.Context.class)
                .toInstance(CiDataSourceProvider.Context.MULTI_USER);
            bind(Key.get(DataSource.class, Names.named("CiDb")))
                .toProvider(CiDataSourceProvider.class)
                .in(SINGLETON);
            listener().to(CiDataSourceProvider.class);
          }
        });
    modules.add(new CiDatabaseModule());
    for (Module module : modules) {
      install(module);
    }
    install(
        new RestApiModule() {
          @Override
          protected void configure() {
            get(CONFIG_KIND, "config").to(GetConfig.class);
            put(CONFIG_KIND, "config").to(PutConfig.class);
            get(REVISION_KIND, "verifications").to(GetVerifications.class);
            post(REVISION_KIND, "verifications").to(PostVerification.class);
          }
        });
  }