public void init()

in encryption/src/main/java/org/apache/solr/encryption/EncryptionDirectoryFactory.java [81:107]


  public void init(NamedList<?> args) {
    super.init(args);

    String keySupplierFactoryClass = args._getStr(PARAM_KEY_SUPPLIER_FACTORY, System.getProperty("solr." + PARAM_KEY_SUPPLIER_FACTORY));
    if (keySupplierFactoryClass == null) {
      throw new IllegalArgumentException("Missing " + PARAM_KEY_SUPPLIER_FACTORY + " argument for " + getClass().getName());
    }
    KeySupplier.Factory keySupplierFactory = coreContainer.getResourceLoader().newInstance(keySupplierFactoryClass,
                                                                                          KeySupplier.Factory.class);
    keySupplierFactory.init(args, coreContainer);
    try {
      keySupplier = keySupplierFactory.create();
    } catch (IOException e) {
      throw new UncheckedIOException(e);
    }

    String encrypterFactoryClass = args._getStr(PARAM_ENCRYPTER_FACTORY, CipherAesCtrEncrypter.Factory.class.getName());
    encrypterFactory = coreContainer.getResourceLoader().newInstance(encrypterFactoryClass,
                                                                     AesCtrEncrypterFactory.class);
    if (!encrypterFactory.isSupported()) {
      throw new UnsupportedOperationException(getClass().getName() + " cannot create an encrypterFactory of type "
                                                + encrypterFactory.getClass().getName(),
                                              encrypterFactory.getUnsupportedCause());
    }

    innerFactory = createInnerFactory();
  }