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();
}