in server/src/main/java/org/eclipse/jifa/server/domain/dto/FileTransferRequest.java [154:213]
public boolean isValid(FileTransferRequest request, ConstraintValidatorContext context) {
String notNullTemplate = "{jakarta.validation.constraints.NotNull.message}";
boolean valid = true;
if (request.type == null) {
valid = false;
context.buildConstraintViolationWithTemplate(notNullTemplate)
.addPropertyNode("type")
.addConstraintViolation();
}
if (request.method == null) {
context.buildConstraintViolationWithTemplate(notNullTemplate)
.addPropertyNode("method")
.addConstraintViolation();
context.disableDefaultConstraintViolation();
return false;
}
if (request.method == FileTransferMethod.UPLOAD) {
context.disableDefaultConstraintViolation();
return false;
}
switch (request.method) {
case OSS -> {
valid &= checkNotBlank(request.ossEndpoint, "ossEndpoint", context);
valid &= checkNotBlank(request.ossAccessKeyId, "ossAccessKeyId", context);
valid &= checkNotBlank(request.ossSecretAccessKey, "ossSecretAccessKey", context);
valid &= checkNotBlank(request.ossBucketName, "ossBucketName", context);
valid &= checkNotBlank(request.ossObjectKey, "ossObjectKey", context);
}
case S3 -> {
valid &= checkNotBlank(request.s3Region, "s3Region", context);
valid &= checkNotBlank(request.s3AccessKey, "s3AccessKey", context);
valid &= checkNotBlank(request.s3SecretKey, "s3SecretKey", context);
valid &= checkNotBlank(request.s3BucketName, "s3BucketName", context);
valid &= checkNotBlank(request.s3ObjectKey, "s3ObjectKey", context);
}
case SCP -> {
valid &= checkNotBlank(request.scpHostname, "scpHostname", context);
valid &= checkNotBlank(request.scpUser, "scpUser", context);
valid &= checkNotBlank(request.scpSourcePath, "scpSourcePath", context);
}
case URL -> valid &= checkNotBlank(request.url, "url", context);
case TEXT -> {
// TODO: should check file type
valid &= checkNotBlank(request.filename, "filename", context);
valid &= checkNotBlank(request.text, "text", context);
}
}
if (!valid) {
context.disableDefaultConstraintViolation();
}
return valid;
}