Package org.apache.sqoop.validation

Examples of org.apache.sqoop.validation.Validation$FormInput


*/
public class GenericJdbcValidator extends Validator {

  @Override
  public Validation validateConnection(Object configuration) {
    Validation validation = new Validation(ConnectionConfiguration.class);
    ConnectionConfiguration config = (ConnectionConfiguration)configuration;

    if(config.connection.jdbcDriver == null) {
      validation.addMessage(Status.UNACCEPTABLE, "connection", "jdbcDriver", "Driver can't be empty");
    } else {
      try {
        Class.forName(config.connection.jdbcDriver);
      } catch (ClassNotFoundException e) {
        validation.addMessage(Status.UNACCEPTABLE, "connection", "jdbcDriver", "Can't load specified driver");
      }
    }

    if(config.connection.connectionString == null) {
      validation.addMessage(Status.UNACCEPTABLE, "connection", "connectionString", "JDBC URL can't be empty");
    } else if(!config.connection.connectionString.startsWith("jdbc:")) {
      validation.addMessage(Status.UNACCEPTABLE, "connection", "connectionString", "This do not seem as a valid JDBC URL");
    }

    // See if we can connect to the database
    try {
      DriverManager.getConnection(config.connection.connectionString,
        config.connection.username, config.connection.password);
    } catch (SQLException e) {
      validation.addMessage(Status.ACCEPTABLE, "connection", "Can't connect to the database with given credentials: " + e.getMessage());
    }

    // Return final validation object
    return validation;
  }
View Full Code Here


        return super.validateJob(type, jobConfiguration);
    }
  }

  private Validation validateExportJob(Object jobConfiguration) {
    Validation validation = new Validation(ExportJobConfiguration.class);
    ExportJobConfiguration configuration = (ExportJobConfiguration)jobConfiguration;

    if(configuration.table.tableName == null && configuration.table.sql == null) {
      validation.addMessage(Status.UNACCEPTABLE, "table", "Either table name or SQL must be specified");
    }
    if(configuration.table.tableName != null && configuration.table.sql != null) {
      validation.addMessage(Status.UNACCEPTABLE, "table", "Both table name and SQL cannot be specified");
    }

    return validation;
  }
View Full Code Here

    return validation;
  }

  private Validation validateImportJob(Object jobConfiguration) {
    Validation validation = new Validation(ImportJobConfiguration.class);
    ImportJobConfiguration configuration = (ImportJobConfiguration)jobConfiguration;

    if(configuration.table.tableName == null && configuration.table.sql == null) {
      validation.addMessage(Status.UNACCEPTABLE, "table", "Either table name or SQL must be specified");
    }
    if(configuration.table.tableName != null && configuration.table.sql != null) {
      validation.addMessage(Status.UNACCEPTABLE, "table", "Both table name and SQL cannot be specified");
    }
    if(configuration.table.schemaName != null && configuration.table.sql != null) {
      validation.addMessage(Status.UNACCEPTABLE, "table", "Both schema name and SQL cannot be specified");
    }

    if(configuration.table.sql != null && !configuration.table.sql.contains(GenericJdbcConnectorConstants.SQL_CONDITIONS_TOKEN)) {
      validation.addMessage(Status.UNACCEPTABLE, "table", "sql", "SQL statement must contain placeholder for auto generated "
        + "conditions - " + GenericJdbcConnectorConstants.SQL_CONDITIONS_TOKEN);
    }

    return validation;
  }
View Full Code Here

*/
public class FrameworkValidator extends Validator {

  @Override
  public Validation validateConnection(Object connectionConfiguration) {
    Validation validation = new Validation(ConnectionConfiguration.class);
    // No validation on connection object
    return validation;
  }
View Full Code Here

        return super.validateJob(type, jobConfiguration);
    }
  }

  private Validation validateExportJob(Object jobConfiguration) {
    Validation validation = new Validation(ExportJobConfiguration.class);
    ExportJobConfiguration configuration = (ExportJobConfiguration)jobConfiguration;

    validateInputForm(validation, configuration.input);
    validateThrottingForm(validation, configuration.throttling);
View Full Code Here

    return validation;
  }

  private Validation validateImportJob(Object jobConfiguration) {
    Validation validation = new Validation(ImportJobConfiguration.class);
    ImportJobConfiguration configuration = (ImportJobConfiguration)jobConfiguration;

    validateOutputForm(validation, configuration.output);
    validateThrottingForm(validation, configuration.throttling);
View Full Code Here

      messages.put(new Validation.FormInput((String)key), message);
    }

    Status status = Status.valueOf((String) jsonObject.get(STATUS));

    return new Validation(status, messages);
  }
View Full Code Here

  @Test
  public void testConnectionValidation() {
    ConnectionConfiguration connectionConfiguration = new ConnectionConfiguration();

    Validation validation = validator.validateConnection(connectionConfiguration);
    assertEquals(Status.FINE, validation.getStatus());
    assertEquals(0, validation.getMessages().size());
  }
View Full Code Here

  }

  @Test
  public void testExportJobValidation() {
    ExportJobConfiguration configuration;
    Validation validation;

    // Empty form is not allowed
    configuration = new ExportJobConfiguration();
    validation = validator.validateJob(MJob.Type.EXPORT, configuration);
    assertEquals(Status.UNACCEPTABLE, validation.getStatus());
    assertTrue(validation.getMessages().containsKey(new Validation.FormInput("input.inputDirectory")));

    // Explicitly setting extractors and loaders
    configuration = new ExportJobConfiguration();
    configuration.input.inputDirectory = "/czech/republic";
    configuration.throttling.extractors = 3;
    configuration.throttling.loaders = 3;

    validation = validator.validateJob(MJob.Type.EXPORT, configuration);
    assertEquals(Status.FINE, validation.getStatus());
    assertEquals(0, validation.getMessages().size());

    // Negative and zero values for extractors and loaders
    configuration = new ExportJobConfiguration();
    configuration.input.inputDirectory = "/czech/republic";
    configuration.throttling.extractors = 0;
    configuration.throttling.loaders = -1;

    validation = validator.validateJob(MJob.Type.EXPORT, configuration);
    assertEquals(Status.UNACCEPTABLE, validation.getStatus());
    assertTrue(validation.getMessages().containsKey(new Validation.FormInput("throttling.extractors")));
    assertTrue(validation.getMessages().containsKey(new Validation.FormInput("throttling.loaders")));
  }
View Full Code Here


  @Test
  public void testImportJobValidation() {
    ImportJobConfiguration configuration;
    Validation validation;

    // Empty form is not allowed
    configuration = new ImportJobConfiguration();
    validation = validator.validateJob(MJob.Type.IMPORT, configuration);
    assertEquals(Status.UNACCEPTABLE, validation.getStatus());
    assertTrue(validation.getMessages().containsKey(new Validation.FormInput("output.outputDirectory")));

    // Explicitly setting extractors and loaders
    configuration = new ImportJobConfiguration();
    configuration.output.outputDirectory = "/czech/republic";
    configuration.throttling.extractors = 3;
    configuration.throttling.loaders = 3;

    validation = validator.validateJob(MJob.Type.IMPORT, configuration);
    assertEquals(Status.FINE, validation.getStatus());
    assertEquals(0, validation.getMessages().size());

    // Negative and zero values for extractors and loaders
    configuration = new ImportJobConfiguration();
    configuration.output.outputDirectory = "/czech/republic";
    configuration.throttling.extractors = 0;
    configuration.throttling.loaders = -1;

    validation = validator.validateJob(MJob.Type.IMPORT, configuration);
    assertEquals(Status.UNACCEPTABLE, validation.getStatus());
    assertTrue(validation.getMessages().containsKey(new Validation.FormInput("throttling.extractors")));
    assertTrue(validation.getMessages().containsKey(new Validation.FormInput("throttling.loaders")));
  }
View Full Code Here

TOP

Related Classes of org.apache.sqoop.validation.Validation$FormInput

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.