5
0
mirror of https://github.com/apache/sqoop.git synced 2025-05-07 19:19:21 +08:00

SQOOP-1575: Sqoop2: Validations: Migrate HDFS connector to new validators

(Jarek Jarcec Cecho Via Abraham Elmahrek)
This commit is contained in:
Abraham Elmahrek 2014-10-10 16:50:37 -07:00
parent d7e0490430
commit b345b46546
2 changed files with 25 additions and 3 deletions

View File

@ -19,6 +19,8 @@
import org.apache.sqoop.model.ConfigClass;
import org.apache.sqoop.model.Input;
import org.apache.sqoop.model.Validator;
import org.apache.sqoop.validation.validators.NotEmpty;
/**
*
@ -26,5 +28,5 @@
@ConfigClass
public class FromJobConfig {
@Input(size = 255) public String inputDirectory;
@Input(size = 255, validators = { @Validator(NotEmpty.class) }) public String inputDirectory;
}

View File

@ -19,11 +19,15 @@
import org.apache.sqoop.model.ConfigClass;
import org.apache.sqoop.model.Input;
import org.apache.sqoop.model.Validator;
import org.apache.sqoop.validation.Status;
import org.apache.sqoop.validation.validators.AbstractValidator;
import org.apache.sqoop.validation.validators.NotEmpty;
/**
*
*/
@ConfigClass
@ConfigClass(validators = { @Validator(ToJobConfig.ToJobConfigValidator.class)})
public class ToJobConfig {
@Input public ToFormat outputFormat;
@ -32,5 +36,21 @@ public class ToJobConfig {
@Input(size = 255) public String customCompression;
@Input(size = 255) public String outputDirectory;
@Input(size = 255, validators = { @Validator(NotEmpty.class)}) public String outputDirectory;
public static class ToJobConfigValidator extends AbstractValidator<ToJobConfig> {
@Override
public void validate(ToJobConfig conf) {
if(conf.customCompression != null &&
conf.customCompression.trim().length() > 0 &&
conf.compression != ToCompression.CUSTOM) {
addMessage(Status.UNACCEPTABLE, "Custom compression codec should be blank as " + conf.compression + " is being used");
}
if(conf.compression == ToCompression.CUSTOM &&
(conf.customCompression == null || conf.customCompression.trim().length() == 0)) {
addMessage(Status.UNACCEPTABLE, "Custom compression field is blank.");
}
}
}
}