protected TransferManager createTransferManagerFromNullConfig(ConfigTO configTo) throws IllegalAccessException, InvocationTargetException, InstantiationException, NoSuchMethodException, StorageException { // Init plugin and transfer manager TransferPlugin plugin = Plugins.get(configTo.getTransferSettings().getType(), TransferPlugin.class); TransferSettings transferSettings = configTo.getTransferSettings(); transferSettings.setUserInteractionListener(listener); TransferManager transferManager = plugin.createTransferManager(transferSettings, config); // constructor is not visible and config seems to be null at this point, hence we cannot use the build method here Constructor<TransferManagerBuilder> tmbConstructor = TransferManagerBuilder.class.getDeclaredConstructor(Config.class, TransferManager.class); tmbConstructor.setAccessible(true); return tmbConstructor.newInstance(config, transferManager) .withFeature(ReadAfterWriteConsistent.class) .asDefault(); } }
public AbstractTransferOperation(Config config, String operationName) { super(config); this.eventBus = LocalEventBus.getInstance(); try { // Do NOT reuse TransferManager for action file renewal; see #140 TransferManager actionFileTransferManager = TransferManagerFactory .build(config) .withFeature(ReadAfterWriteConsistent.class) .withFeature(Retriable.class) .asDefault(); TransactionAwareFeatureTransferManager regularFileTransferManager = TransferManagerFactory .build(config) .withFeature(ReadAfterWriteConsistent.class) .withFeature(Retriable.class) .withFeature(PathAware.class) .withFeature(TransactionAware.class) .as(TransactionAware.class); this.actionHandler = new ActionFileHandler(actionFileTransferManager, operationName, config.getMachineName()); this.transferManager = regularFileTransferManager; } catch (StorageException e) { logger.log(Level.SEVERE, "Unable to create AbstractTransferOperation: Unable to create TransferManager", e); throw new RuntimeException("Unable to create AbstractTransferOperation: Unable to create TransferManager: " + e.getMessage()); } }
private TransferManager createTransferManager(TransferManager loadedTransferManager) throws StorageException { if (loadedTransferManager != null) { return loadedTransferManager; } else { return TransferManagerFactory .build(config) .withFeature(PathAware.class) .asDefault(); } }