blob: 4337865359464f82975f7493fdb7d4df633d6bb1 [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.sqoop.manager;
import org.apache.hadoop.mapreduce.InputFormat;
import org.apache.sqoop.mapreduce.db.DataDrivenDBInputFormat;
import org.apache.sqoop.SqoopOptions;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.sqoop.util.Jars;
/**
* A set of parameters describing an import operation; this is passed to
* ConnManager.importTable() as its argument.
*/
public class ImportJobContext {
private String tableName;
private String jarFile;
private SqoopOptions options;
private Class<? extends InputFormat> inputFormatClass;
private Path destination;
private ConnManager manager;
public ImportJobContext(final String table, final String jar,
final SqoopOptions opts, final Path destination) {
this.tableName = table;
this.jarFile = jar;
if (this.jarFile == null) {
// Set the jarFile to the hadoop core jar file.
this.jarFile = Jars.getJarPathForClass(Configuration.class);
}
this.options = opts;
this.inputFormatClass = DataDrivenDBInputFormat.class;
this.destination = destination;
}
/** @return the name of the table to import. */
public String getTableName() {
return tableName;
}
/** @return the name of the jar file containing the user's compiled
* ORM classes to use during the import.
*/
public String getJarFile() {
return jarFile;
}
/** @return the SqoopOptions configured by the user */
public SqoopOptions getOptions() {
return options;
}
/** Set the InputFormat to use for the import job. */
public void setInputFormat(Class<? extends InputFormat> ifClass) {
this.inputFormatClass = ifClass;
}
/** @return the InputFormat to use for the import job. */
public Class<? extends InputFormat> getInputFormat() {
return this.inputFormatClass;
}
/**
* @return the destination path to where the output files will
* be first saved.
*/
public Path getDestination() {
return this.destination;
}
/**
* Set the ConnManager instance to be used during the import's
* configuration.
*/
public void setConnManager(ConnManager mgr) {
this.manager = mgr;
}
/**
* Get the ConnManager instance to use during an import's
* configuration stage.
*/
public ConnManager getConnManager() {
return this.manager;
}
}