private File evaluateDestinationDirectoryExpression(Message<?> message) { final File destinationDirectory = ExpressionUtils.expressionToFile(this.destinationDirectoryExpression, this.evaluationContext, message, "Destination Directory"); validateDestinationDirectory(destinationDirectory, this.autoCreateDirectory); return destinationDirectory; }
private File generateLocalDirectory(Message<?> message, String remoteDirectory) { EvaluationContext evaluationContext = ExpressionUtils.createStandardEvaluationContext(getBeanFactory()); if (remoteDirectory != null) { evaluationContext.setVariable("remoteDirectory", remoteDirectory); } File localDir = ExpressionUtils.expressionToFile(this.localDirectoryExpression, evaluationContext, message, "Local Directory"); if (!localDir.exists()) { Assert.isTrue(localDir.mkdirs(), "Failed to make local directory: " + localDir); } return localDir; }
@Override protected void doInit() { this.evaluationContext = ExpressionUtils.createStandardEvaluationContext(getBeanFactory()); if (this.destinationDirectoryExpression instanceof LiteralExpression) { final File directory = ExpressionUtils.expressionToFile(this.destinationDirectoryExpression, this.evaluationContext, null, "destinationDirectoryExpression"); validateDestinationDirectory(directory, this.autoCreateDirectory); } Assert.state(!(this.temporaryFileSuffixSet && (FileExistsMode.APPEND.equals(this.fileExistsMode) || FileExistsMode.APPEND_NO_FLUSH.equals(this.fileExistsMode))), "'temporaryFileSuffix' can not be set when appending to an existing file"); if (!this.fileNameGeneratorSet && this.fileNameGenerator instanceof BeanFactoryAware) { ((BeanFactoryAware) this.fileNameGenerator).setBeanFactory(getBeanFactory()); } }
Assert.notNull(this.localDirectoryExpression, "localDirectory must not be null"); if (this.localDirectoryExpression instanceof ValueExpression) { File localDirectory = ExpressionUtils.expressionToFile(this.localDirectoryExpression, ExpressionUtils.createStandardEvaluationContext(getBeanFactory()), null, "localDirectoryExpression");