mirror of
https://github.com/apache/sqoop.git
synced 2025-05-05 01:51:37 +08:00
SQOOP-1926: Sqoop2: Add annotations for visibilty and compatibility guarantees
(Abraham Elmahrek via Jarek Jarcec Cecho)
This commit is contained in:
parent
e41bc6e31f
commit
89f737b2ac
@ -23,6 +23,8 @@
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.client.request.SqoopResourceRequests;
|
import org.apache.sqoop.client.request.SqoopResourceRequests;
|
||||||
import org.apache.sqoop.common.Direction;
|
import org.apache.sqoop.common.Direction;
|
||||||
import org.apache.sqoop.common.SqoopException;
|
import org.apache.sqoop.common.SqoopException;
|
||||||
@ -49,6 +51,8 @@
|
|||||||
* (Resources, Connector structures). Volatile structures (Links, Jobs)
|
* (Resources, Connector structures). Volatile structures (Links, Jobs)
|
||||||
* are not cached.
|
* are not cached.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class SqoopClient {
|
public class SqoopClient {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -0,0 +1,73 @@
|
|||||||
|
/*
|
||||||
|
* 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.classification;
|
||||||
|
|
||||||
|
import java.lang.annotation.Documented;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Annotation to inform users of a package, class or method's intended audience.
|
||||||
|
* Currently the audience can be {@link Public}, {@link LimitedPrivate} or
|
||||||
|
* {@link Private}. <br>
|
||||||
|
* All public classes must have InterfaceAudience annotation. <br>
|
||||||
|
* <ul>
|
||||||
|
* <li>Public classes that are not marked with this annotation must be
|
||||||
|
* considered by default as {@link Private}.</li>
|
||||||
|
*
|
||||||
|
* <li>External applications must only use classes that are marked
|
||||||
|
* {@link Public}. Avoid using non public classes as these classes
|
||||||
|
* could be removed or change in incompatible ways.</li>
|
||||||
|
*
|
||||||
|
* <li>Sqoop project must only use classes that are marked
|
||||||
|
* {@link LimitedPrivate} or {@link Public}</li>
|
||||||
|
*
|
||||||
|
* <li> Methods may have a different annotation that it is more restrictive
|
||||||
|
* compared to the audience classification of the class. Example: A class
|
||||||
|
* might be {@link Public}, but a method may be {@link LimitedPrivate}
|
||||||
|
* </li></ul>
|
||||||
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Evolving
|
||||||
|
public class InterfaceAudience {
|
||||||
|
/**
|
||||||
|
* Intended for use by any project or application.
|
||||||
|
*/
|
||||||
|
@Documented
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
public @interface Public {};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Intended only for the project(s) specified in the annotation.
|
||||||
|
* For example, "Common", "HDFS", "MapReduce", "ZooKeeper", "HBase".
|
||||||
|
*/
|
||||||
|
@Documented
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
public @interface LimitedPrivate {
|
||||||
|
String[] value();
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Intended for use only within Sqoop itself.
|
||||||
|
*/
|
||||||
|
@Documented
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
public @interface Private {};
|
||||||
|
|
||||||
|
private InterfaceAudience() {} // Audience can't exist on its own
|
||||||
|
}
|
@ -0,0 +1,61 @@
|
|||||||
|
/*
|
||||||
|
* 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.classification;
|
||||||
|
|
||||||
|
import java.lang.annotation.Documented;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Annotation to inform users of how much to rely on a particular package,
|
||||||
|
* class or method not changing over time. Currently the stability can be
|
||||||
|
* {@link Stable}, {@link Evolving} or {@link Unstable}. <br>
|
||||||
|
*
|
||||||
|
* <ul><li>All classes that are annotated with {@link Public} or
|
||||||
|
* {@link LimitedPrivate} must have InterfaceStability annotation. </li>
|
||||||
|
* <li>Classes that are {@link Private} are to be considered unstable unless
|
||||||
|
* a different InterfaceStability annotation states otherwise.</li>
|
||||||
|
* <li>Incompatible changes must not be made to classes marked as stable.</li>
|
||||||
|
* </ul>
|
||||||
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Evolving
|
||||||
|
public class InterfaceStability {
|
||||||
|
/**
|
||||||
|
* Can evolve while retaining compatibility for minor release boundaries.;
|
||||||
|
* can break compatibility only at major release (ie. at m.0).
|
||||||
|
*/
|
||||||
|
@Documented
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
public @interface Stable {};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Evolving, but can break compatibility at minor release (i.e. m.x)
|
||||||
|
*/
|
||||||
|
@Documented
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
public @interface Evolving {};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* No guarantee is provided as to reliability or stability across any
|
||||||
|
* level of release granularity.
|
||||||
|
*/
|
||||||
|
@Documented
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
public @interface Unstable {};
|
||||||
|
}
|
@ -17,6 +17,9 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.common;
|
package org.apache.sqoop.common;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Connectors will have configurations for FROM and TO.
|
* Connectors will have configurations for FROM and TO.
|
||||||
* If the connector is being used to extract data FROM,
|
* If the connector is being used to extract data FROM,
|
||||||
@ -24,6 +27,8 @@
|
|||||||
* is being used to load data TO, then the connector type
|
* is being used to load data TO, then the connector type
|
||||||
* will be TO.
|
* will be TO.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Evolving
|
||||||
public enum Direction {
|
public enum Direction {
|
||||||
FROM,
|
FROM,
|
||||||
TO
|
TO
|
||||||
|
@ -17,6 +17,11 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.common;
|
package org.apache.sqoop.common;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public enum DirectionError implements ErrorCode {
|
public enum DirectionError implements ErrorCode {
|
||||||
|
|
||||||
/** An unknown error has occurred. */
|
/** An unknown error has occurred. */
|
||||||
|
@ -17,12 +17,17 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.common;
|
package org.apache.sqoop.common;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Defines an error-code contract. Sqoop exceptions use the error code to
|
* Defines an error-code contract. Sqoop exceptions use the error code to
|
||||||
* communicate error information where possible. Each error code is associated
|
* communicate error information where possible. Each error code is associated
|
||||||
* with default message that identifies the high level information related to
|
* with default message that identifies the high level information related to
|
||||||
* the underlying error condition.
|
* the underlying error condition.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public interface ErrorCode {
|
public interface ErrorCode {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -17,11 +17,16 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.common;
|
package org.apache.sqoop.common;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Immutable context interface for key value pairs.
|
* Immutable context interface for key value pairs.
|
||||||
*
|
*
|
||||||
* Useful for configuration objects that are not allowed to change.
|
* Useful for configuration objects that are not allowed to change.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public interface ImmutableContext {
|
public interface ImmutableContext {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -17,6 +17,9 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.common;
|
package org.apache.sqoop.common;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
@ -25,6 +28,8 @@
|
|||||||
/**
|
/**
|
||||||
* ImmutableContext implementation based on (Hash)Map.
|
* ImmutableContext implementation based on (Hash)Map.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class MapContext implements ImmutableContext {
|
public class MapContext implements ImmutableContext {
|
||||||
|
|
||||||
private final Map<String, String> options;
|
private final Map<String, String> options;
|
||||||
|
@ -17,9 +17,14 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.common;
|
package org.apache.sqoop.common;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Mutable addition to immutable context.
|
* Mutable addition to immutable context.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public interface MutableContext extends ImmutableContext {
|
public interface MutableContext extends ImmutableContext {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -17,6 +17,9 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.common;
|
package org.apache.sqoop.common;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -24,6 +27,8 @@
|
|||||||
/**
|
/**
|
||||||
* Mutable variant of context class for "special" usage
|
* Mutable variant of context class for "special" usage
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class MutableMapContext extends MapContext implements Iterable<Map.Entry<String, String>>, MutableContext {
|
public class MutableMapContext extends MapContext implements Iterable<Map.Entry<String, String>>, MutableContext {
|
||||||
|
|
||||||
public MutableMapContext(Map<String, String> options) {
|
public MutableMapContext(Map<String, String> options) {
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.common;
|
package org.apache.sqoop.common;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.hadoop.conf.Configuration;
|
import org.apache.hadoop.conf.Configuration;
|
||||||
import org.apache.sqoop.common.ImmutableContext;
|
import org.apache.sqoop.common.ImmutableContext;
|
||||||
|
|
||||||
@ -25,6 +27,8 @@
|
|||||||
* object. Each context property is prefixed with special prefix and loaded
|
* object. Each context property is prefixed with special prefix and loaded
|
||||||
* directly.
|
* directly.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class PrefixContext implements ImmutableContext {
|
public class PrefixContext implements ImmutableContext {
|
||||||
|
|
||||||
Configuration configuration;
|
Configuration configuration;
|
||||||
|
@ -18,12 +18,17 @@
|
|||||||
package org.apache.sqoop.common;
|
package org.apache.sqoop.common;
|
||||||
|
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Base exception for Sqoop driver. This exception requires the specification
|
* Base exception for Sqoop driver. This exception requires the specification
|
||||||
* of an error code for reference purposes. Where necessary the appropriate
|
* of an error code for reference purposes. Where necessary the appropriate
|
||||||
* constructor can be used to pass in additional message beyond what is
|
* constructor can be used to pass in additional message beyond what is
|
||||||
* specified by the error code and/or the causal exception.
|
* specified by the error code and/or the causal exception.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
@SuppressWarnings("serial")
|
@SuppressWarnings("serial")
|
||||||
public class SqoopException extends RuntimeException {
|
public class SqoopException extends RuntimeException {
|
||||||
|
|
||||||
|
@ -17,6 +17,11 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.common;
|
package org.apache.sqoop.common;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public final class SqoopProtocolConstants {
|
public final class SqoopProtocolConstants {
|
||||||
public static final String HEADER_SQOOP_ERROR_CODE = "sqoop-error-code";
|
public static final String HEADER_SQOOP_ERROR_CODE = "sqoop-error-code";
|
||||||
|
|
||||||
|
@ -17,6 +17,11 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.common;
|
package org.apache.sqoop.common;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public enum SqoopResponseCode {
|
public enum SqoopResponseCode {
|
||||||
|
|
||||||
SQOOP_1000("1000", "OK"),
|
SQOOP_1000("1000", "OK"),
|
||||||
|
@ -17,9 +17,14 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.common;
|
package org.apache.sqoop.common;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents which Directions are supported.
|
* Represents which Directions are supported.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class SupportedDirections implements Comparable<SupportedDirections> {
|
public class SupportedDirections implements Comparable<SupportedDirections> {
|
||||||
private static final char SUPPORTED_DIRECTIONS_SEPARATOR = '/';
|
private static final char SUPPORTED_DIRECTIONS_SEPARATOR = '/';
|
||||||
|
|
||||||
|
@ -17,12 +17,17 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.common;
|
package org.apache.sqoop.common;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
import java.lang.annotation.*;
|
import java.lang.annotation.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A package attribute that captures the version that was compiled.
|
* A package attribute that captures the version that was compiled.
|
||||||
* Copied down from hadoop. All is same except name of interface.
|
* Copied down from hadoop. All is same except name of interface.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
@Retention(RetentionPolicy.RUNTIME)
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
@Target(ElementType.PACKAGE)
|
@Target(ElementType.PACKAGE)
|
||||||
public @interface VersionAnnotation {
|
public @interface VersionAnnotation {
|
||||||
|
@ -17,6 +17,11 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.common;
|
package org.apache.sqoop.common;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public final class VersionInfo {
|
public final class VersionInfo {
|
||||||
|
|
||||||
private static Package myPackage;
|
private static Package myPackage;
|
||||||
|
@ -17,10 +17,15 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.etl.io;
|
package org.apache.sqoop.etl.io;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An intermediate layer for passing data from the execution engine
|
* An intermediate layer for passing data from the execution engine
|
||||||
* to the ETL engine.
|
* to the ETL engine.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public abstract class DataReader {
|
public abstract class DataReader {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -17,10 +17,15 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.etl.io;
|
package org.apache.sqoop.etl.io;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An intermediate layer for passing data from the ETL framework
|
* An intermediate layer for passing data from the ETL framework
|
||||||
* to the MR framework.
|
* to the MR framework.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public abstract class DataWriter {
|
public abstract class DataWriter {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.job.etl;
|
package org.apache.sqoop.job.etl;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.common.ImmutableContext;
|
import org.apache.sqoop.common.ImmutableContext;
|
||||||
import org.apache.sqoop.schema.Schema;
|
import org.apache.sqoop.schema.Schema;
|
||||||
|
|
||||||
@ -25,6 +27,8 @@
|
|||||||
*
|
*
|
||||||
* This class is wrapping information if the run was successful or not.
|
* This class is wrapping information if the run was successful or not.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class DestroyerContext extends TransferableContext {
|
public class DestroyerContext extends TransferableContext {
|
||||||
|
|
||||||
private boolean success;
|
private boolean success;
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.job.etl;
|
package org.apache.sqoop.job.etl;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.common.ImmutableContext;
|
import org.apache.sqoop.common.ImmutableContext;
|
||||||
import org.apache.sqoop.etl.io.DataWriter;
|
import org.apache.sqoop.etl.io.DataWriter;
|
||||||
import org.apache.sqoop.schema.Schema;
|
import org.apache.sqoop.schema.Schema;
|
||||||
@ -26,6 +28,8 @@
|
|||||||
*
|
*
|
||||||
* This class is wrapping writer object.
|
* This class is wrapping writer object.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class ExtractorContext extends TransferableContext {
|
public class ExtractorContext extends TransferableContext {
|
||||||
|
|
||||||
private final DataWriter writer;
|
private final DataWriter writer;
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.job.etl;
|
package org.apache.sqoop.job.etl;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.common.MutableContext;
|
import org.apache.sqoop.common.MutableContext;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -25,6 +27,8 @@
|
|||||||
*
|
*
|
||||||
* This class is returning mutable context instead of immutable.
|
* This class is returning mutable context instead of immutable.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class InitializerContext extends TransferableContext {
|
public class InitializerContext extends TransferableContext {
|
||||||
|
|
||||||
public InitializerContext(MutableContext context) {
|
public InitializerContext(MutableContext context) {
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.job.etl;
|
package org.apache.sqoop.job.etl;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.common.ImmutableContext;
|
import org.apache.sqoop.common.ImmutableContext;
|
||||||
import org.apache.sqoop.etl.io.DataReader;
|
import org.apache.sqoop.etl.io.DataReader;
|
||||||
import org.apache.sqoop.schema.Schema;
|
import org.apache.sqoop.schema.Schema;
|
||||||
@ -26,6 +28,8 @@
|
|||||||
*
|
*
|
||||||
* This class is also wrapping reader object.
|
* This class is also wrapping reader object.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class LoaderContext extends TransferableContext {
|
public class LoaderContext extends TransferableContext {
|
||||||
|
|
||||||
private final DataReader reader;
|
private final DataReader reader;
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.job.etl;
|
package org.apache.sqoop.job.etl;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.common.ImmutableContext;
|
import org.apache.sqoop.common.ImmutableContext;
|
||||||
import org.apache.sqoop.schema.Schema;
|
import org.apache.sqoop.schema.Schema;
|
||||||
|
|
||||||
@ -25,6 +27,8 @@
|
|||||||
*
|
*
|
||||||
* This class is also wrapping number of maximal allowed partitions.
|
* This class is also wrapping number of maximal allowed partitions.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class PartitionerContext extends TransferableContext {
|
public class PartitionerContext extends TransferableContext {
|
||||||
|
|
||||||
private long maxPartitions;
|
private long maxPartitions;
|
||||||
|
@ -17,11 +17,15 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.job.etl;
|
package org.apache.sqoop.job.etl;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.common.ImmutableContext;
|
import org.apache.sqoop.common.ImmutableContext;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Base context class for the {@link Transferable} components
|
* Base context class for the {@link Transferable} components
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public abstract class TransferableContext {
|
public abstract class TransferableContext {
|
||||||
|
|
||||||
ImmutableContext context;
|
ImmutableContext context;
|
||||||
|
@ -17,9 +17,14 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Marker class for the configurables supported in sqoop
|
* Marker class for the configurables supported in sqoop
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public abstract class ConfigurableBean implements JsonBean {
|
public abstract class ConfigurableBean implements JsonBean {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -28,6 +28,8 @@
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.common.Direction;
|
import org.apache.sqoop.common.Direction;
|
||||||
import org.apache.sqoop.model.MConfig;
|
import org.apache.sqoop.model.MConfig;
|
||||||
import org.apache.sqoop.model.MConnector;
|
import org.apache.sqoop.model.MConnector;
|
||||||
@ -41,6 +43,8 @@
|
|||||||
* Json representation of the connector object
|
* Json representation of the connector object
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class ConnectorBean extends ConfigurableBean {
|
public class ConnectorBean extends ConfigurableBean {
|
||||||
|
|
||||||
// to represent the config and inputs with values
|
// to represent the config and inputs with values
|
||||||
|
@ -21,6 +21,8 @@
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.model.MConnector;
|
import org.apache.sqoop.model.MConnector;
|
||||||
import org.json.simple.JSONArray;
|
import org.json.simple.JSONArray;
|
||||||
import org.json.simple.JSONObject;
|
import org.json.simple.JSONObject;
|
||||||
@ -29,6 +31,8 @@
|
|||||||
* Json representation of the connectors object
|
* Json representation of the connectors object
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class ConnectorsBean extends ConnectorBean {
|
public class ConnectorsBean extends ConnectorBean {
|
||||||
|
|
||||||
// to represent the config and inputs with values
|
// to represent the config and inputs with values
|
||||||
|
@ -25,6 +25,8 @@
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.model.MConfig;
|
import org.apache.sqoop.model.MConfig;
|
||||||
import org.apache.sqoop.model.MDriver;
|
import org.apache.sqoop.model.MDriver;
|
||||||
import org.apache.sqoop.model.MDriverConfig;
|
import org.apache.sqoop.model.MDriverConfig;
|
||||||
@ -33,6 +35,8 @@
|
|||||||
/**
|
/**
|
||||||
* Json representation of the driver
|
* Json representation of the driver
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class DriverBean extends ConfigurableBean {
|
public class DriverBean extends ConfigurableBean {
|
||||||
|
|
||||||
public static final String CURRENT_DRIVER_VERSION = "1";
|
public static final String CURRENT_DRIVER_VERSION = "1";
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.json;
|
package org.apache.sqoop.json;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.common.SqoopException;
|
import org.apache.sqoop.common.SqoopException;
|
||||||
import org.apache.sqoop.json.util.SerializationError;
|
import org.apache.sqoop.json.util.SerializationError;
|
||||||
import org.json.simple.JSONObject;
|
import org.json.simple.JSONObject;
|
||||||
@ -28,6 +30,8 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class JSONUtils {
|
public class JSONUtils {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -27,6 +27,8 @@
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.common.Direction;
|
import org.apache.sqoop.common.Direction;
|
||||||
import org.apache.sqoop.model.MConfig;
|
import org.apache.sqoop.model.MConfig;
|
||||||
import org.apache.sqoop.model.MDriverConfig;
|
import org.apache.sqoop.model.MDriverConfig;
|
||||||
@ -39,6 +41,8 @@
|
|||||||
/**
|
/**
|
||||||
* Json representation of the job
|
* Json representation of the job
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class JobBean implements JsonBean {
|
public class JobBean implements JsonBean {
|
||||||
|
|
||||||
static final String FROM_LINK_ID = "from-link-id";
|
static final String FROM_LINK_ID = "from-link-id";
|
||||||
|
@ -19,6 +19,8 @@
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.model.MJob;
|
import org.apache.sqoop.model.MJob;
|
||||||
import org.json.simple.JSONArray;
|
import org.json.simple.JSONArray;
|
||||||
import org.json.simple.JSONObject;
|
import org.json.simple.JSONObject;
|
||||||
@ -26,6 +28,8 @@
|
|||||||
/**
|
/**
|
||||||
* Json representation of the jobs
|
* Json representation of the jobs
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class JobsBean extends JobBean {
|
public class JobsBean extends JobBean {
|
||||||
|
|
||||||
private static final String JOBS = "jobs";
|
private static final String JOBS = "jobs";
|
||||||
|
@ -17,8 +17,12 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.json;
|
package org.apache.sqoop.json;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.json.simple.JSONObject;
|
import org.json.simple.JSONObject;
|
||||||
|
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public interface JsonBean {
|
public interface JsonBean {
|
||||||
|
|
||||||
// common JSON constants for the rest-api response
|
// common JSON constants for the rest-api response
|
||||||
|
@ -27,6 +27,8 @@
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.model.MConfig;
|
import org.apache.sqoop.model.MConfig;
|
||||||
import org.apache.sqoop.model.MLink;
|
import org.apache.sqoop.model.MLink;
|
||||||
import org.apache.sqoop.model.MLinkConfig;
|
import org.apache.sqoop.model.MLinkConfig;
|
||||||
@ -38,6 +40,8 @@
|
|||||||
* server and client. Server might optionally send configs associated with the
|
* server and client. Server might optionally send configs associated with the
|
||||||
* links to spare client of sending another HTTP requests to obtain them.
|
* links to spare client of sending another HTTP requests to obtain them.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class LinkBean implements JsonBean {
|
public class LinkBean implements JsonBean {
|
||||||
|
|
||||||
static final String CONNECTOR_ID = "connector-id";
|
static final String CONNECTOR_ID = "connector-id";
|
||||||
|
@ -19,10 +19,14 @@
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.model.MLink;
|
import org.apache.sqoop.model.MLink;
|
||||||
import org.json.simple.JSONArray;
|
import org.json.simple.JSONArray;
|
||||||
import org.json.simple.JSONObject;
|
import org.json.simple.JSONObject;
|
||||||
|
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class LinksBean extends LinkBean {
|
public class LinksBean extends LinkBean {
|
||||||
|
|
||||||
static final String LINKS = "links";
|
static final String LINKS = "links";
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.json;
|
package org.apache.sqoop.json;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.json.util.SchemaSerialization;
|
import org.apache.sqoop.json.util.SchemaSerialization;
|
||||||
import org.apache.sqoop.schema.Schema;
|
import org.apache.sqoop.schema.Schema;
|
||||||
import org.json.simple.JSONObject;
|
import org.json.simple.JSONObject;
|
||||||
@ -24,6 +26,8 @@
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class SchemaBean implements JsonBean {
|
public class SchemaBean implements JsonBean {
|
||||||
|
|
||||||
private Schema schema;
|
private Schema schema;
|
||||||
|
@ -26,6 +26,8 @@
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.model.MSubmission;
|
import org.apache.sqoop.model.MSubmission;
|
||||||
import org.apache.sqoop.submission.SubmissionStatus;
|
import org.apache.sqoop.submission.SubmissionStatus;
|
||||||
import org.apache.sqoop.submission.counter.Counter;
|
import org.apache.sqoop.submission.counter.Counter;
|
||||||
@ -37,6 +39,8 @@
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class SubmissionBean implements JsonBean {
|
public class SubmissionBean implements JsonBean {
|
||||||
|
|
||||||
private static final String SUBMISSION = "submission";
|
private static final String SUBMISSION = "submission";
|
||||||
|
@ -19,10 +19,14 @@
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.model.MSubmission;
|
import org.apache.sqoop.model.MSubmission;
|
||||||
import org.json.simple.JSONArray;
|
import org.json.simple.JSONArray;
|
||||||
import org.json.simple.JSONObject;
|
import org.json.simple.JSONObject;
|
||||||
|
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class SubmissionsBean extends SubmissionBean {
|
public class SubmissionsBean extends SubmissionBean {
|
||||||
|
|
||||||
private static final String SUBMISSIONS = "submissions";
|
private static final String SUBMISSIONS = "submissions";
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.json;
|
package org.apache.sqoop.json;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.common.SqoopException;
|
import org.apache.sqoop.common.SqoopException;
|
||||||
import org.apache.sqoop.utils.ClassUtils;
|
import org.apache.sqoop.utils.ClassUtils;
|
||||||
import org.json.simple.JSONArray;
|
import org.json.simple.JSONArray;
|
||||||
@ -28,6 +30,8 @@
|
|||||||
/**
|
/**
|
||||||
* Transfer throwable instance as a throwable bean.
|
* Transfer throwable instance as a throwable bean.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class ThrowableBean implements JsonBean {
|
public class ThrowableBean implements JsonBean {
|
||||||
|
|
||||||
public static final String MESSAGE = "message";
|
public static final String MESSAGE = "message";
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.json;
|
package org.apache.sqoop.json;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.validation.Message;
|
import org.apache.sqoop.validation.Message;
|
||||||
import org.apache.sqoop.validation.Status;
|
import org.apache.sqoop.validation.Status;
|
||||||
import org.apache.sqoop.validation.ConfigValidationResult;
|
import org.apache.sqoop.validation.ConfigValidationResult;
|
||||||
@ -31,6 +33,8 @@
|
|||||||
/**
|
/**
|
||||||
* Serialize and transfer validation results (0..N).
|
* Serialize and transfer validation results (0..N).
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class ValidationResultBean implements JsonBean {
|
public class ValidationResultBean implements JsonBean {
|
||||||
|
|
||||||
private static final String VALIDATION_RESULT = "validation-result";
|
private static final String VALIDATION_RESULT = "validation-result";
|
||||||
|
@ -17,9 +17,13 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.json;
|
package org.apache.sqoop.json;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.json.simple.JSONArray;
|
import org.json.simple.JSONArray;
|
||||||
import org.json.simple.JSONObject;
|
import org.json.simple.JSONObject;
|
||||||
|
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class VersionBean implements JsonBean {
|
public class VersionBean implements JsonBean {
|
||||||
|
|
||||||
public static final String BUILD_VERSION = "build-version";
|
public static final String BUILD_VERSION = "build-version";
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.json.util;
|
package org.apache.sqoop.json.util;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.utils.MapResourceBundle;
|
import org.apache.sqoop.utils.MapResourceBundle;
|
||||||
import org.json.simple.JSONArray;
|
import org.json.simple.JSONArray;
|
||||||
import org.json.simple.JSONObject;
|
import org.json.simple.JSONObject;
|
||||||
@ -31,6 +33,8 @@
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public final class ConfigBundleSerialization {
|
public final class ConfigBundleSerialization {
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
|
@ -17,9 +17,14 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.json.util;
|
package org.apache.sqoop.json.util;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constants related to the configs
|
* Constants related to the configs
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class ConfigInputConstants {
|
public class ConfigInputConstants {
|
||||||
|
|
||||||
public static final String CONFIG_ID = "id";
|
public static final String CONFIG_ID = "id";
|
||||||
|
@ -18,6 +18,8 @@
|
|||||||
package org.apache.sqoop.json.util;
|
package org.apache.sqoop.json.util;
|
||||||
|
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.common.SqoopException;
|
import org.apache.sqoop.common.SqoopException;
|
||||||
import org.apache.sqoop.model.MBooleanInput;
|
import org.apache.sqoop.model.MBooleanInput;
|
||||||
import org.apache.sqoop.model.MEnumInput;
|
import org.apache.sqoop.model.MEnumInput;
|
||||||
@ -38,6 +40,8 @@
|
|||||||
/**
|
/**
|
||||||
* Convenient static methods for serializing config and input objects.
|
* Convenient static methods for serializing config and input objects.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public final class ConfigInputSerialization {
|
public final class ConfigInputSerialization {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -19,6 +19,8 @@
|
|||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.schema.NullSchema;
|
import org.apache.sqoop.schema.NullSchema;
|
||||||
import org.apache.sqoop.schema.Schema;
|
import org.apache.sqoop.schema.Schema;
|
||||||
import org.apache.sqoop.schema.type.AbstractComplexListType;
|
import org.apache.sqoop.schema.type.AbstractComplexListType;
|
||||||
@ -46,6 +48,8 @@
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class SchemaSerialization {
|
public class SchemaSerialization {
|
||||||
|
|
||||||
// common attributes of all column types
|
// common attributes of all column types
|
||||||
|
@ -17,8 +17,12 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.json.util;
|
package org.apache.sqoop.json.util;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.common.ErrorCode;
|
import org.apache.sqoop.common.ErrorCode;
|
||||||
|
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public enum SerializationError implements ErrorCode {
|
public enum SerializationError implements ErrorCode {
|
||||||
|
|
||||||
SERIALIZATION_001("Attempt to pass a non-map object to MAP type."),
|
SERIALIZATION_001("Attempt to pass a non-map object to MAP type."),
|
||||||
|
@ -17,12 +17,17 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
import java.lang.annotation.RetentionPolicy;
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Denote config in Configuration class
|
* Denote config in Configuration class
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Evolving
|
||||||
@Retention(RetentionPolicy.RUNTIME)
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
public @interface Config {
|
public @interface Config {
|
||||||
/**
|
/**
|
||||||
|
@ -17,6 +17,9 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
import java.lang.annotation.ElementType;
|
import java.lang.annotation.ElementType;
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
import java.lang.annotation.RetentionPolicy;
|
import java.lang.annotation.RetentionPolicy;
|
||||||
@ -25,6 +28,8 @@
|
|||||||
/**
|
/**
|
||||||
* Denote configuration class
|
* Denote configuration class
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Evolving
|
||||||
@Retention(RetentionPolicy.RUNTIME)
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
@Target(ElementType.TYPE)
|
@Target(ElementType.TYPE)
|
||||||
public @interface ConfigClass {
|
public @interface ConfigClass {
|
||||||
|
@ -18,6 +18,8 @@
|
|||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.common.SqoopException;
|
import org.apache.sqoop.common.SqoopException;
|
||||||
import org.apache.sqoop.json.JSONUtils;
|
import org.apache.sqoop.json.JSONUtils;
|
||||||
import org.apache.sqoop.utils.ClassUtils;
|
import org.apache.sqoop.utils.ClassUtils;
|
||||||
@ -41,6 +43,8 @@
|
|||||||
*
|
*
|
||||||
* TODO: This class should see some overhaul into more reusable code, especially expose and re-use the methods at the end.
|
* TODO: This class should see some overhaul into more reusable code, especially expose and re-use the methods at the end.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class ConfigUtils {
|
public class ConfigUtils {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -17,9 +17,14 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Marker class that identifies the Configurables in the Sqoop system
|
* Marker class that identifies the Configurables in the Sqoop system
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public abstract class Configurable extends MPersistableEntity implements MClonable {
|
public abstract class Configurable extends MPersistableEntity implements MClonable {
|
||||||
|
|
||||||
}
|
}
|
@ -17,6 +17,9 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
import java.lang.annotation.ElementType;
|
import java.lang.annotation.ElementType;
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
import java.lang.annotation.RetentionPolicy;
|
import java.lang.annotation.RetentionPolicy;
|
||||||
@ -27,6 +30,8 @@
|
|||||||
* Each class that is used a configuration group object, the connector developer
|
* Each class that is used a configuration group object, the connector developer
|
||||||
* is expected to provide the inputs needed for this annotation
|
* is expected to provide the inputs needed for this annotation
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Evolving
|
||||||
@Retention(RetentionPolicy.RUNTIME)
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
@Target(ElementType.TYPE)
|
@Target(ElementType.TYPE)
|
||||||
public @interface ConfigurationClass {
|
public @interface ConfigurationClass {
|
||||||
|
@ -17,6 +17,9 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
import java.lang.annotation.ElementType;
|
import java.lang.annotation.ElementType;
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
import java.lang.annotation.RetentionPolicy;
|
import java.lang.annotation.RetentionPolicy;
|
||||||
@ -26,6 +29,8 @@
|
|||||||
* Field annotation. Each field that user might change in configuration object
|
* Field annotation. Each field that user might change in configuration object
|
||||||
* need to have this annotation.
|
* need to have this annotation.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Evolving
|
||||||
@Retention(RetentionPolicy.RUNTIME)
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
@Target(ElementType.FIELD)
|
@Target(ElementType.FIELD)
|
||||||
public @interface Input {
|
public @interface Input {
|
||||||
|
@ -17,12 +17,17 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Accountable entity provides additional fields that might help with identifying
|
* Accountable entity provides additional fields that might help with identifying
|
||||||
* what and when has happened.
|
* what and when has happened.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
abstract public class MAccountableEntity extends MValidatedElement {
|
abstract public class MAccountableEntity extends MValidatedElement {
|
||||||
|
|
||||||
private final boolean DEFAULT_ENABLED = true;
|
private final boolean DEFAULT_ENABLED = true;
|
||||||
|
@ -17,9 +17,14 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a <tt>Boolean</tt> input.
|
* Represents a <tt>Boolean</tt> input.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class MBooleanInput extends MInput<Boolean> {
|
public class MBooleanInput extends MInput<Boolean> {
|
||||||
|
|
||||||
public MBooleanInput(String name, boolean sensitive) {
|
public MBooleanInput(String name, boolean sensitive) {
|
||||||
|
@ -17,6 +17,11 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public interface MClonable {
|
public interface MClonable {
|
||||||
/**
|
/**
|
||||||
* Clone object
|
* Clone object
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.common.SqoopException;
|
import org.apache.sqoop.common.SqoopException;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -27,6 +29,8 @@
|
|||||||
* input gathering process to be broken down into multiple steps that can be
|
* input gathering process to be broken down into multiple steps that can be
|
||||||
* then paged through by the user interface.
|
* then paged through by the user interface.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public final class MConfig extends MValidatedElement implements MClonable {
|
public final class MConfig extends MValidatedElement implements MClonable {
|
||||||
|
|
||||||
private final List<MInput<?>> inputs;
|
private final List<MInput<?>> inputs;
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.common.SqoopException;
|
import org.apache.sqoop.common.SqoopException;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -25,6 +27,8 @@
|
|||||||
/**
|
/**
|
||||||
* Arbitrary list of config objects.
|
* Arbitrary list of config objects.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class MConfigList implements MClonable {
|
public class MConfigList implements MClonable {
|
||||||
|
|
||||||
private final List<MConfig> configObjects;
|
private final List<MConfig> configObjects;
|
||||||
|
@ -17,9 +17,14 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents the various config types supported by the system.
|
* Represents the various config types supported by the system.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public enum MConfigType {
|
public enum MConfigType {
|
||||||
|
|
||||||
/** Unknown config type */
|
/** Unknown config type */
|
||||||
|
@ -17,9 +17,14 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents the sqoop entities that can own configs
|
* Represents the sqoop entities that can own configs
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public enum MConfigurableType {
|
public enum MConfigurableType {
|
||||||
|
|
||||||
/** Connector as a owner of config keys */
|
/** Connector as a owner of config keys */
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.common.Direction;
|
import org.apache.sqoop.common.Direction;
|
||||||
import org.apache.sqoop.common.DirectionError;
|
import org.apache.sqoop.common.DirectionError;
|
||||||
import org.apache.sqoop.common.SqoopException;
|
import org.apache.sqoop.common.SqoopException;
|
||||||
@ -27,6 +29,8 @@
|
|||||||
* that identifies connector in the repository, unique human readable name,
|
* that identifies connector in the repository, unique human readable name,
|
||||||
* corresponding name and all configs to support the from and to data sources
|
* corresponding name and all configs to support the from and to data sources
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public final class MConnector extends Configurable {
|
public final class MConnector extends Configurable {
|
||||||
|
|
||||||
private final String uniqueName;
|
private final String uniqueName;
|
||||||
|
@ -18,9 +18,14 @@
|
|||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Describes the configs associated with the {@link Driver} for executing sqoop jobs.
|
* Describes the configs associated with the {@link Driver} for executing sqoop jobs.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public final class MDriver extends Configurable {
|
public final class MDriver extends Configurable {
|
||||||
|
|
||||||
public static final String DRIVER_NAME = "SqoopDriver";
|
public static final String DRIVER_NAME = "SqoopDriver";
|
||||||
|
@ -17,14 +17,18 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Config describing all required information for the driver
|
* Config describing all required information for the driver
|
||||||
* NOTE: It extends a config list since {@link MToConfig} could consist of a related config groups
|
* NOTE: It extends a config list since {@link MToConfig} could consist of a related config groups
|
||||||
* In future this could be simplified to hold a single list of all configs for the driver
|
* In future this could be simplified to hold a single list of all configs for the driver
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class MDriverConfig extends MConfigList {
|
public class MDriverConfig extends MConfigList {
|
||||||
public MDriverConfig(List<MConfig> configs) {
|
public MDriverConfig(List<MConfig> configs) {
|
||||||
super(configs, MConfigType.JOB);
|
super(configs, MConfigType.JOB);
|
||||||
|
@ -18,6 +18,8 @@
|
|||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.common.SqoopException;
|
import org.apache.sqoop.common.SqoopException;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@ -25,6 +27,8 @@
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class MEnumInput extends MInput<String> {
|
public class MEnumInput extends MInput<String> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -17,14 +17,18 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Config describing all required information to build the FROM part of the job
|
* Config describing all required information to build the FROM part of the job
|
||||||
* NOTE: It extends a config list since {@link MFromConfig} could consist of a related config groups
|
* NOTE: It extends a config list since {@link MFromConfig} could consist of a related config groups
|
||||||
* In future this could be simplified to hold a single list of all configs for the FROM object
|
* In future this could be simplified to hold a single list of all configs for the FROM object
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class MFromConfig extends MConfigList {
|
public class MFromConfig extends MConfigList {
|
||||||
public MFromConfig(List<MConfig> configs) {
|
public MFromConfig(List<MConfig> configs) {
|
||||||
super(configs, MConfigType.JOB);
|
super(configs, MConfigType.JOB);
|
||||||
|
@ -17,12 +17,17 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a parameter input used by the connector for creating a link
|
* Represents a parameter input used by the connector for creating a link
|
||||||
* or a job object.
|
* or a job object.
|
||||||
* @param <T> the value type associated with this parameter
|
* @param <T> the value type associated with this parameter
|
||||||
* @param boolean whether or not the field contains sensitive information
|
* @param boolean whether or not the field contains sensitive information
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public abstract class MInput<T> extends MValidatedElement implements MClonable {
|
public abstract class MInput<T> extends MValidatedElement implements MClonable {
|
||||||
private final boolean sensitive;
|
private final boolean sensitive;
|
||||||
|
|
||||||
|
@ -17,9 +17,14 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents the various input types supported by the system.
|
* Represents the various input types supported by the system.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public enum MInputType {
|
public enum MInputType {
|
||||||
|
|
||||||
/** Unknown input type */
|
/** Unknown input type */
|
||||||
|
@ -17,11 +17,16 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Integer base user input.
|
* Integer base user input.
|
||||||
*
|
*
|
||||||
* This input is able to process empty (NULL) value.
|
* This input is able to process empty (NULL) value.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class MIntegerInput extends MInput<Integer> {
|
public class MIntegerInput extends MInput<Integer> {
|
||||||
|
|
||||||
public MIntegerInput(String name, boolean sensitive) {
|
public MIntegerInput(String name, boolean sensitive) {
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.common.Direction;
|
import org.apache.sqoop.common.Direction;
|
||||||
import org.apache.sqoop.common.DirectionError;
|
import org.apache.sqoop.common.DirectionError;
|
||||||
import org.apache.sqoop.common.SqoopException;
|
import org.apache.sqoop.common.SqoopException;
|
||||||
@ -25,6 +27,8 @@
|
|||||||
* Model describing entire job object including the from/to and driver config information
|
* Model describing entire job object including the from/to and driver config information
|
||||||
* to execute the job
|
* to execute the job
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class MJob extends MAccountableEntity implements MClonable {
|
public class MJob extends MAccountableEntity implements MClonable {
|
||||||
/**
|
/**
|
||||||
* NOTE : Job object do not immediately depend on connector as there is indirect
|
* NOTE : Job object do not immediately depend on connector as there is indirect
|
||||||
|
@ -17,9 +17,14 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Model describing the link object and its corresponding configs
|
* Model describing the link object and its corresponding configs
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class MLink extends MAccountableEntity implements MClonable {
|
public class MLink extends MAccountableEntity implements MClonable {
|
||||||
private long connectorId;
|
private long connectorId;
|
||||||
// NOTE: we hold this in the model for easy access to the link config object, it might as well be retrieved on the fly using the connectorId
|
// NOTE: we hold this in the model for easy access to the link config object, it might as well be retrieved on the fly using the connectorId
|
||||||
|
@ -17,6 +17,9 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -24,6 +27,8 @@
|
|||||||
* NOTE: It extends a config list since {@link MLink} could consist of a related config groups
|
* NOTE: It extends a config list since {@link MLink} could consist of a related config groups
|
||||||
* In future this could be simplified to hold a single list of all configs for the link object
|
* In future this could be simplified to hold a single list of all configs for the link object
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class MLinkConfig extends MConfigList {
|
public class MLinkConfig extends MConfigList {
|
||||||
|
|
||||||
public MLinkConfig(List<MConfig> configs) {
|
public MLinkConfig(List<MConfig> configs) {
|
||||||
|
@ -21,8 +21,12 @@
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.utils.UrlSafeUtils;
|
import org.apache.sqoop.utils.UrlSafeUtils;
|
||||||
|
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public final class MMapInput extends MInput<Map<String, String>> {
|
public final class MMapInput extends MInput<Map<String, String>> {
|
||||||
|
|
||||||
public MMapInput(String name, boolean sensitive) {
|
public MMapInput(String name, boolean sensitive) {
|
||||||
|
@ -17,9 +17,14 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents an element of metadata used by the connector.
|
* Represents an element of metadata used by the connector.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public abstract class MNamedElement extends MPersistableEntity {
|
public abstract class MNamedElement extends MPersistableEntity {
|
||||||
private static final String LABEL_KEY_SUFFIX = ".label";
|
private static final String LABEL_KEY_SUFFIX = ".label";
|
||||||
private static final String HELP_KEY_SUFFIX = ".help";
|
private static final String HELP_KEY_SUFFIX = ".help";
|
||||||
|
@ -17,9 +17,14 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents a persistable metadata entity.
|
* Represents a persistable metadata entity.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public abstract class MPersistableEntity {
|
public abstract class MPersistableEntity {
|
||||||
|
|
||||||
public static final long PERSISTANCE_ID_DEFAULT = -1L;
|
public static final long PERSISTANCE_ID_DEFAULT = -1L;
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.utils.UrlSafeUtils;
|
import org.apache.sqoop.utils.UrlSafeUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -25,6 +27,8 @@
|
|||||||
* from user-view. This is helpful for creating input strings that represent
|
* from user-view. This is helpful for creating input strings that represent
|
||||||
* sensitive information such as passwords.
|
* sensitive information such as passwords.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public final class MStringInput extends MInput<String> {
|
public final class MStringInput extends MInput<String> {
|
||||||
|
|
||||||
private final short maxLength;
|
private final short maxLength;
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.schema.Schema;
|
import org.apache.sqoop.schema.Schema;
|
||||||
import org.apache.sqoop.submission.SubmissionStatus;
|
import org.apache.sqoop.submission.SubmissionStatus;
|
||||||
import org.apache.sqoop.submission.counter.Counters;
|
import org.apache.sqoop.submission.counter.Counters;
|
||||||
@ -29,6 +31,8 @@
|
|||||||
* Please note that not all properties are persisted in repository at the
|
* Please note that not all properties are persisted in repository at the
|
||||||
* moment.
|
* moment.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class MSubmission extends MAccountableEntity {
|
public class MSubmission extends MAccountableEntity {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -17,14 +17,18 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Config describing all required information to build the TO part of the job
|
* Config describing all required information to build the TO part of the job
|
||||||
* NOTE: It extends a config list since {@link MToConfig} could consist of a related config groups
|
* NOTE: It extends a config list since {@link MToConfig} could consist of a related config groups
|
||||||
* In future this could be simplified to hold a single list of all configs for the TO object
|
* In future this could be simplified to hold a single list of all configs for the TO object
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class MToConfig extends MConfigList {
|
public class MToConfig extends MConfigList {
|
||||||
public MToConfig(List<MConfig> configs) {
|
public MToConfig(List<MConfig> configs) {
|
||||||
super(configs, MConfigType.JOB);
|
super(configs, MConfigType.JOB);
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.validation.Message;
|
import org.apache.sqoop.validation.Message;
|
||||||
import org.apache.sqoop.validation.Status;
|
import org.apache.sqoop.validation.Status;
|
||||||
|
|
||||||
@ -26,6 +28,8 @@
|
|||||||
/**
|
/**
|
||||||
* Element that can have associated validation messages (0..N).
|
* Element that can have associated validation messages (0..N).
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public abstract class MValidatedElement extends MNamedElement {
|
public abstract class MValidatedElement extends MNamedElement {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -17,11 +17,15 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.common.ErrorCode;
|
import org.apache.sqoop.common.ErrorCode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public enum ModelError implements ErrorCode {
|
public enum ModelError implements ErrorCode {
|
||||||
|
|
||||||
MODEL_001("Attempt to pass two different set of MConfigs for single job type."),
|
MODEL_001("Attempt to pass two different set of MConfigs for single job type."),
|
||||||
|
@ -17,9 +17,14 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*Represents the job submission error
|
*Represents the job submission error
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class SubmissionError {
|
public class SubmissionError {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.model;
|
package org.apache.sqoop.model;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.validation.validators.AbstractValidator;
|
import org.apache.sqoop.validation.validators.AbstractValidator;
|
||||||
|
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
@ -31,6 +33,8 @@
|
|||||||
* To specify string parameter call:
|
* To specify string parameter call:
|
||||||
* @Validator(value = ClassName.class, strArg = "Hello World!")
|
* @Validator(value = ClassName.class, strArg = "Hello World!")
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
@Retention(RetentionPolicy.RUNTIME)
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
public @interface Validator {
|
public @interface Validator {
|
||||||
/**
|
/**
|
||||||
|
@ -17,12 +17,16 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.schema;
|
package org.apache.sqoop.schema;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.schema.type.Binary;
|
import org.apache.sqoop.schema.type.Binary;
|
||||||
|
|
||||||
/***
|
/***
|
||||||
* Schema holding a single field of Binary data Used to support connectors to
|
* Schema holding a single field of Binary data Used to support connectors to
|
||||||
* schemaless / unstructured systems Such as HDFS or Kafka
|
* schemaless / unstructured systems Such as HDFS or Kafka
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class ByteArraySchema extends Schema {
|
public class ByteArraySchema extends Schema {
|
||||||
|
|
||||||
private static final String BYTE_ARRAY_SCHEMA_NAME = "ByteArraySchema";
|
private static final String BYTE_ARRAY_SCHEMA_NAME = "ByteArraySchema";
|
||||||
|
@ -17,6 +17,11 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.schema;
|
package org.apache.sqoop.schema;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class NullSchema extends Schema {
|
public class NullSchema extends Schema {
|
||||||
|
|
||||||
private static final String NULL_SCHEMA_NAME = "NullSchema";
|
private static final String NULL_SCHEMA_NAME = "NullSchema";
|
||||||
|
@ -18,6 +18,8 @@
|
|||||||
package org.apache.sqoop.schema;
|
package org.apache.sqoop.schema;
|
||||||
|
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.common.SqoopException;
|
import org.apache.sqoop.common.SqoopException;
|
||||||
import org.apache.sqoop.schema.type.Column;
|
import org.apache.sqoop.schema.type.Column;
|
||||||
|
|
||||||
@ -33,6 +35,8 @@
|
|||||||
* Schema represents the data fields that are transferred between {@link #From}
|
* Schema represents the data fields that are transferred between {@link #From}
|
||||||
* and {@link #To}
|
* and {@link #To}
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class Schema {
|
public class Schema {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -17,11 +17,15 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.schema;
|
package org.apache.sqoop.schema;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.common.ErrorCode;
|
import org.apache.sqoop.common.ErrorCode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public enum SchemaError implements ErrorCode {
|
public enum SchemaError implements ErrorCode {
|
||||||
|
|
||||||
SCHEMA_0000("Unknown error"),
|
SCHEMA_0000("Unknown error"),
|
||||||
|
@ -17,6 +17,9 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.schema;
|
package org.apache.sqoop.schema;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The order of the matching options here indicates an order of preference
|
* The order of the matching options here indicates an order of preference
|
||||||
* if it is possible to use both NAME and LOCATION matching options, we will prefer NAME
|
* if it is possible to use both NAME and LOCATION matching options, we will prefer NAME
|
||||||
@ -31,6 +34,8 @@
|
|||||||
*
|
*
|
||||||
* USER_DEFINED - not implemented yet.
|
* USER_DEFINED - not implemented yet.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public enum SchemaMatchOption {
|
public enum SchemaMatchOption {
|
||||||
NAME,
|
NAME,
|
||||||
LOCATION,
|
LOCATION,
|
||||||
|
@ -17,9 +17,14 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.schema.type;
|
package org.apache.sqoop.schema.type;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Complex types that can have nested data as a map or list structure
|
* Complex types that can have nested data as a map or list structure
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public abstract class AbstractComplexListType extends AbstractComplexType {
|
public abstract class AbstractComplexListType extends AbstractComplexType {
|
||||||
|
|
||||||
// represents the type of the list elements
|
// represents the type of the list elements
|
||||||
|
@ -17,9 +17,14 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.schema.type;
|
package org.apache.sqoop.schema.type;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Complex types that can have nested data as a map or list structure
|
* Complex types that can have nested data as a map or list structure
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public abstract class AbstractComplexType extends Column {
|
public abstract class AbstractComplexType extends Column {
|
||||||
|
|
||||||
public AbstractComplexType(String name) {
|
public AbstractComplexType(String name) {
|
||||||
|
@ -17,9 +17,14 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.schema.type;
|
package org.apache.sqoop.schema.type;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Any time or date related data type.
|
* Any time or date related data type.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public abstract class AbstractDateTime extends Column {
|
public abstract class AbstractDateTime extends Column {
|
||||||
|
|
||||||
protected AbstractDateTime(String name) {
|
protected AbstractDateTime(String name) {
|
||||||
|
@ -17,9 +17,14 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.schema.type;
|
package org.apache.sqoop.schema.type;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Any type related to number.
|
* Any type related to number.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public abstract class AbstractNumber extends AbstractPrimitiveType {
|
public abstract class AbstractNumber extends AbstractPrimitiveType {
|
||||||
|
|
||||||
protected AbstractNumber(String name) {
|
protected AbstractNumber(String name) {
|
||||||
|
@ -17,9 +17,14 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.schema.type;
|
package org.apache.sqoop.schema.type;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Primitive type for column
|
* Primitive type for column
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public abstract class AbstractPrimitiveType extends Column {
|
public abstract class AbstractPrimitiveType extends Column {
|
||||||
|
|
||||||
public AbstractPrimitiveType(String name) {
|
public AbstractPrimitiveType(String name) {
|
||||||
|
@ -17,9 +17,14 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.schema.type;
|
package org.apache.sqoop.schema.type;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Any type that is encoding character (or byte) array.
|
* Any type that is encoding character (or byte) array.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public abstract class AbstractString extends AbstractPrimitiveType {
|
public abstract class AbstractString extends AbstractPrimitiveType {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -17,11 +17,16 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.schema.type;
|
package org.apache.sqoop.schema.type;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Array contains multiple values of the same type.
|
* Array contains multiple values of the same type.
|
||||||
*
|
*
|
||||||
* JDBC Types: array
|
* JDBC Types: array
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class Array extends AbstractComplexListType {
|
public class Array extends AbstractComplexListType {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -17,11 +17,16 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.schema.type;
|
package org.apache.sqoop.schema.type;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Binary type can contain any binary value (images, text, ...).
|
* Binary type can contain any binary value (images, text, ...).
|
||||||
*
|
*
|
||||||
* JDBC Types: blob, binary, varbinary
|
* JDBC Types: blob, binary, varbinary
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class Binary extends AbstractString {
|
public class Binary extends AbstractString {
|
||||||
|
|
||||||
public Binary(String name) {
|
public Binary(String name) {
|
||||||
|
@ -17,11 +17,16 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.schema.type;
|
package org.apache.sqoop.schema.type;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* True/False value.
|
* True/False value.
|
||||||
*
|
*
|
||||||
* JDBC Types: bit, boolean
|
* JDBC Types: bit, boolean
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class Bit extends Column {
|
public class Bit extends Column {
|
||||||
|
|
||||||
public Bit(String name) {
|
public Bit(String name) {
|
||||||
|
@ -18,12 +18,16 @@
|
|||||||
package org.apache.sqoop.schema.type;
|
package org.apache.sqoop.schema.type;
|
||||||
|
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
import org.apache.sqoop.common.SqoopException;
|
import org.apache.sqoop.common.SqoopException;
|
||||||
import org.apache.sqoop.schema.SchemaError;
|
import org.apache.sqoop.schema.SchemaError;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Base class for all the supported types in the Sqoop {@link #Schema}
|
* Base class for all the supported types in the Sqoop {@link #Schema}
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public abstract class Column {
|
public abstract class Column {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -17,9 +17,14 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.schema.type;
|
package org.apache.sqoop.schema.type;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* All {@link #Column} types supported by Sqoop.
|
* All {@link #Column} types supported by Sqoop.
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Private
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public enum ColumnType {
|
public enum ColumnType {
|
||||||
ARRAY,
|
ARRAY,
|
||||||
BINARY,
|
BINARY,
|
||||||
|
@ -17,11 +17,16 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.schema.type;
|
package org.apache.sqoop.schema.type;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Date (year, month, day).
|
* Date (year, month, day).
|
||||||
*
|
*
|
||||||
* JDBC Types: date
|
* JDBC Types: date
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class Date extends AbstractDateTime {
|
public class Date extends AbstractDateTime {
|
||||||
|
|
||||||
public Date(String name) {
|
public Date(String name) {
|
||||||
|
@ -17,11 +17,16 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.schema.type;
|
package org.apache.sqoop.schema.type;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Date and time information together.
|
* Date and time information together.
|
||||||
*
|
*
|
||||||
* JDBC Types: datetime, timestamp
|
* JDBC Types: datetime, timestamp
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class DateTime extends AbstractDateTime {
|
public class DateTime extends AbstractDateTime {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -17,11 +17,16 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.schema.type;
|
package org.apache.sqoop.schema.type;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fixed point number with configurable precision and scale.
|
* Fixed point number with configurable precision and scale.
|
||||||
*
|
*
|
||||||
* JDBC Types: numeric, decimal
|
* JDBC Types: numeric, decimal
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class Decimal extends AbstractNumber {
|
public class Decimal extends AbstractNumber {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -17,6 +17,9 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.sqoop.schema.type;
|
package org.apache.sqoop.schema.type;
|
||||||
|
|
||||||
|
import org.apache.sqoop.classification.InterfaceAudience;
|
||||||
|
import org.apache.sqoop.classification.InterfaceStability;
|
||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
|
||||||
@ -25,7 +28,8 @@
|
|||||||
*
|
*
|
||||||
* JDBC Types: enum
|
* JDBC Types: enum
|
||||||
*/
|
*/
|
||||||
|
@InterfaceAudience.Public
|
||||||
|
@InterfaceStability.Unstable
|
||||||
public class Enum extends Column {
|
public class Enum extends Column {
|
||||||
|
|
||||||
// The options set contains the possible values for the Enum
|
// The options set contains the possible values for the Enum
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user