SQOOP-1926: Sqoop2: Add annotations for visibilty and compatibility guarantees
(Abraham Elmahrek via Jarek Jarcec Cecho) Project: http://git-wip-us.apache.org/repos/asf/sqoop/repo Commit: http://git-wip-us.apache.org/repos/asf/sqoop/commit/89f737b2 Tree: http://git-wip-us.apache.org/repos/asf/sqoop/tree/89f737b2 Diff: http://git-wip-us.apache.org/repos/asf/sqoop/diff/89f737b2 Branch: refs/heads/sqoop2 Commit: 89f737b2ac4b3be31016e4fa5b17c88f1e29ed5a Parents: e41bc6e Author: Jarek Jarcec Cecho <[email protected]> Authored: Wed Jan 21 07:43:16 2015 -0800 Committer: Jarek Jarcec Cecho <[email protected]> Committed: Wed Jan 21 07:44:04 2015 -0800 ---------------------------------------------------------------------- .../org/apache/sqoop/client/SqoopClient.java | 4 ++ .../sqoop/classification/InterfaceAudience.java | 73 ++++++++++++++++++++ .../classification/InterfaceStability.java | 61 ++++++++++++++++ .../java/org/apache/sqoop/common/Direction.java | 5 ++ .../org/apache/sqoop/common/DirectionError.java | 5 ++ .../java/org/apache/sqoop/common/ErrorCode.java | 5 ++ .../apache/sqoop/common/ImmutableContext.java | 5 ++ .../org/apache/sqoop/common/MapContext.java | 5 ++ .../org/apache/sqoop/common/MutableContext.java | 5 ++ .../apache/sqoop/common/MutableMapContext.java | 5 ++ .../org/apache/sqoop/common/PrefixContext.java | 4 ++ .../org/apache/sqoop/common/SqoopException.java | 5 ++ .../sqoop/common/SqoopProtocolConstants.java | 5 ++ .../apache/sqoop/common/SqoopResponseCode.java | 5 ++ .../sqoop/common/SupportedDirections.java | 5 ++ .../apache/sqoop/common/VersionAnnotation.java | 5 ++ .../org/apache/sqoop/common/VersionInfo.java | 5 ++ .../org/apache/sqoop/etl/io/DataReader.java | 5 ++ .../org/apache/sqoop/etl/io/DataWriter.java | 5 ++ .../apache/sqoop/job/etl/DestroyerContext.java | 4 ++ .../apache/sqoop/job/etl/ExtractorContext.java | 4 ++ .../sqoop/job/etl/InitializerContext.java | 4 ++ .../org/apache/sqoop/job/etl/LoaderContext.java | 4 ++ .../sqoop/job/etl/PartitionerContext.java | 4 ++ .../sqoop/job/etl/TransferableContext.java | 4 ++ .../org/apache/sqoop/json/ConfigurableBean.java | 5 ++ .../org/apache/sqoop/json/ConnectorBean.java | 4 ++ .../org/apache/sqoop/json/ConnectorsBean.java | 4 ++ .../java/org/apache/sqoop/json/DriverBean.java | 4 ++ .../java/org/apache/sqoop/json/JSONUtils.java | 4 ++ .../java/org/apache/sqoop/json/JobBean.java | 4 ++ .../java/org/apache/sqoop/json/JobsBean.java | 4 ++ .../java/org/apache/sqoop/json/JsonBean.java | 4 ++ .../java/org/apache/sqoop/json/LinkBean.java | 4 ++ .../java/org/apache/sqoop/json/LinksBean.java | 4 ++ .../java/org/apache/sqoop/json/SchemaBean.java | 4 ++ .../org/apache/sqoop/json/SubmissionBean.java | 4 ++ .../org/apache/sqoop/json/SubmissionsBean.java | 4 ++ .../org/apache/sqoop/json/ThrowableBean.java | 4 ++ .../apache/sqoop/json/ValidationResultBean.java | 4 ++ .../java/org/apache/sqoop/json/VersionBean.java | 4 ++ .../json/util/ConfigBundleSerialization.java | 4 ++ .../sqoop/json/util/ConfigInputConstants.java | 5 ++ .../json/util/ConfigInputSerialization.java | 4 ++ .../sqoop/json/util/SchemaSerialization.java | 4 ++ .../sqoop/json/util/SerializationError.java | 4 ++ .../java/org/apache/sqoop/model/Config.java | 5 ++ .../org/apache/sqoop/model/ConfigClass.java | 5 ++ .../org/apache/sqoop/model/ConfigUtils.java | 4 ++ .../org/apache/sqoop/model/Configurable.java | 5 ++ .../apache/sqoop/model/ConfigurationClass.java | 5 ++ .../main/java/org/apache/sqoop/model/Input.java | 5 ++ .../apache/sqoop/model/MAccountableEntity.java | 5 ++ .../org/apache/sqoop/model/MBooleanInput.java | 5 ++ .../java/org/apache/sqoop/model/MClonable.java | 5 ++ .../java/org/apache/sqoop/model/MConfig.java | 4 ++ .../org/apache/sqoop/model/MConfigList.java | 4 ++ .../org/apache/sqoop/model/MConfigType.java | 5 ++ .../apache/sqoop/model/MConfigurableType.java | 5 ++ .../java/org/apache/sqoop/model/MConnector.java | 4 ++ .../java/org/apache/sqoop/model/MDriver.java | 5 ++ .../org/apache/sqoop/model/MDriverConfig.java | 6 +- .../java/org/apache/sqoop/model/MEnumInput.java | 4 ++ .../org/apache/sqoop/model/MFromConfig.java | 6 +- .../java/org/apache/sqoop/model/MInput.java | 5 ++ .../java/org/apache/sqoop/model/MInputType.java | 5 ++ .../org/apache/sqoop/model/MIntegerInput.java | 5 ++ .../main/java/org/apache/sqoop/model/MJob.java | 4 ++ .../main/java/org/apache/sqoop/model/MLink.java | 5 ++ .../org/apache/sqoop/model/MLinkConfig.java | 5 ++ .../java/org/apache/sqoop/model/MMapInput.java | 4 ++ .../org/apache/sqoop/model/MNamedElement.java | 5 ++ .../apache/sqoop/model/MPersistableEntity.java | 5 ++ .../org/apache/sqoop/model/MStringInput.java | 4 ++ .../org/apache/sqoop/model/MSubmission.java | 4 ++ .../java/org/apache/sqoop/model/MToConfig.java | 6 +- .../apache/sqoop/model/MValidatedElement.java | 4 ++ .../java/org/apache/sqoop/model/ModelError.java | 4 ++ .../org/apache/sqoop/model/SubmissionError.java | 5 ++ .../java/org/apache/sqoop/model/Validator.java | 4 ++ .../apache/sqoop/schema/ByteArraySchema.java | 4 ++ .../org/apache/sqoop/schema/NullSchema.java | 5 ++ .../java/org/apache/sqoop/schema/Schema.java | 4 ++ .../org/apache/sqoop/schema/SchemaError.java | 4 ++ .../apache/sqoop/schema/SchemaMatchOption.java | 5 ++ .../schema/type/AbstractComplexListType.java | 5 ++ .../sqoop/schema/type/AbstractComplexType.java | 5 ++ .../sqoop/schema/type/AbstractDateTime.java | 5 ++ .../sqoop/schema/type/AbstractNumber.java | 5 ++ .../schema/type/AbstractPrimitiveType.java | 5 ++ .../sqoop/schema/type/AbstractString.java | 5 ++ .../org/apache/sqoop/schema/type/Array.java | 5 ++ .../org/apache/sqoop/schema/type/Binary.java | 5 ++ .../java/org/apache/sqoop/schema/type/Bit.java | 5 ++ .../org/apache/sqoop/schema/type/Column.java | 4 ++ .../apache/sqoop/schema/type/ColumnType.java | 5 ++ .../java/org/apache/sqoop/schema/type/Date.java | 5 ++ .../org/apache/sqoop/schema/type/DateTime.java | 5 ++ .../org/apache/sqoop/schema/type/Decimal.java | 5 ++ .../java/org/apache/sqoop/schema/type/Enum.java | 6 +- .../apache/sqoop/schema/type/FixedPoint.java | 5 ++ .../apache/sqoop/schema/type/FloatingPoint.java | 5 ++ .../java/org/apache/sqoop/schema/type/Map.java | 5 ++ .../java/org/apache/sqoop/schema/type/Set.java | 5 ++ .../java/org/apache/sqoop/schema/type/Text.java | 5 ++ .../java/org/apache/sqoop/schema/type/Time.java | 5 ++ .../org/apache/sqoop/schema/type/Unknown.java | 5 ++ .../sqoop/submission/SubmissionStatus.java | 5 ++ .../sqoop/submission/counter/Counter.java | 5 ++ .../sqoop/submission/counter/CounterGroup.java | 5 ++ .../sqoop/submission/counter/Counters.java | 5 ++ .../sqoop/submission/counter/SqoopCounters.java | 5 ++ .../java/org/apache/sqoop/utils/ClassUtils.java | 4 ++ .../apache/sqoop/utils/MapResourceBundle.java | 5 ++ .../org/apache/sqoop/utils/UrlSafeUtils.java | 5 ++ .../sqoop/validation/ConfigValidationError.java | 4 ++ .../validation/ConfigValidationResult.java | 4 ++ .../validation/ConfigValidationRunner.java | 4 ++ .../org/apache/sqoop/validation/Message.java | 5 ++ .../org/apache/sqoop/validation/Status.java | 5 ++ .../validators/AbstractValidator.java | 4 ++ .../validation/validators/CSVURIValidator.java | 4 ++ .../validation/validators/ClassAvailable.java | 4 ++ .../sqoop/validation/validators/Contains.java | 4 ++ .../validators/DatasetURIValidator.java | 4 ++ .../validators/HostAndPortValidator.java | 4 ++ .../sqoop/validation/validators/NotEmpty.java | 4 ++ .../sqoop/validation/validators/NotNull.java | 4 ++ .../validation/validators/NullOrContains.java | 4 ++ .../sqoop/validation/validators/StartsWith.java | 4 ++ connector/connector-sdk/pom.xml | 4 +- .../sqoop/configurable/ConfigurableError.java | 4 ++ .../configurable/ConfigurableUpgradeUtil.java | 4 ++ .../connector/common/AvroDataTypeUtil.java | 4 ++ .../connector/common/EmptyConfiguration.java | 4 ++ .../sqoop/connector/common/FileFormat.java | 5 ++ .../apache/sqoop/connector/common/JarUtil.java | 5 ++ .../sqoop/connector/common/SqoopAvroUtils.java | 4 ++ .../sqoop/connector/common/SqoopIDFUtils.java | 5 +- .../idf/AVROIntermediateDataFormat.java | 4 ++ .../idf/AVROIntermediateDataFormatError.java | 4 ++ .../idf/CSVIntermediateDataFormat.java | 4 ++ .../idf/CSVIntermediateDataFormatError.java | 4 ++ .../connector/idf/IntermediateDataFormat.java | 4 ++ .../idf/IntermediateDataFormatError.java | 4 ++ .../idf/JSONIntermediateDataFormat.java | 4 ++ .../idf/JSONIntermediateDataFormatError.java | 4 ++ .../connector/matcher/LocationMatcher.java | 4 ++ .../apache/sqoop/connector/matcher/Matcher.java | 4 ++ .../sqoop/connector/matcher/MatcherError.java | 4 ++ .../sqoop/connector/matcher/MatcherFactory.java | 4 ++ .../sqoop/connector/matcher/NameMatcher.java | 4 ++ .../spi/ConnectorConfigurableUpgrader.java | 6 +- .../sqoop/connector/spi/SqoopConnector.java | 4 ++ .../java/org/apache/sqoop/job/Constants.java | 5 ++ .../org/apache/sqoop/job/etl/Destroyer.java | 5 ++ .../org/apache/sqoop/job/etl/Extractor.java | 5 ++ .../java/org/apache/sqoop/job/etl/From.java | 5 ++ .../org/apache/sqoop/job/etl/Initializer.java | 4 ++ .../java/org/apache/sqoop/job/etl/Loader.java | 5 ++ .../org/apache/sqoop/job/etl/Partition.java | 5 ++ .../org/apache/sqoop/job/etl/Partitioner.java | 5 ++ .../main/java/org/apache/sqoop/job/etl/To.java | 5 ++ .../org/apache/sqoop/job/etl/Transferable.java | 5 ++ pom.xml | 1 - 165 files changed, 862 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/client/src/main/java/org/apache/sqoop/client/SqoopClient.java ---------------------------------------------------------------------- diff --git a/client/src/main/java/org/apache/sqoop/client/SqoopClient.java b/client/src/main/java/org/apache/sqoop/client/SqoopClient.java index e1f009c..6efa016 100644 --- a/client/src/main/java/org/apache/sqoop/client/SqoopClient.java +++ b/client/src/main/java/org/apache/sqoop/client/SqoopClient.java @@ -23,6 +23,8 @@ import java.util.List; import java.util.Map; 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.common.Direction; import org.apache.sqoop.common.SqoopException; @@ -49,6 +51,8 @@ import org.apache.sqoop.validation.Status; * (Resources, Connector structures). Volatile structures (Links, Jobs) * are not cached. */ [email protected] [email protected] public class SqoopClient { /** http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/classification/InterfaceAudience.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/classification/InterfaceAudience.java b/common/src/main/java/org/apache/sqoop/classification/InterfaceAudience.java new file mode 100644 index 0000000..3cfb5f4 --- /dev/null +++ b/common/src/main/java/org/apache/sqoop/classification/InterfaceAudience.java @@ -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> + */ [email protected] [email protected] +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 +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/classification/InterfaceStability.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/classification/InterfaceStability.java b/common/src/main/java/org/apache/sqoop/classification/InterfaceStability.java new file mode 100644 index 0000000..29fba89 --- /dev/null +++ b/common/src/main/java/org/apache/sqoop/classification/InterfaceStability.java @@ -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> + */ [email protected] [email protected] +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 {}; +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/Direction.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/common/Direction.java b/common/src/main/java/org/apache/sqoop/common/Direction.java index 1576b96..44c53bc 100644 --- a/common/src/main/java/org/apache/sqoop/common/Direction.java +++ b/common/src/main/java/org/apache/sqoop/common/Direction.java @@ -17,6 +17,9 @@ */ 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. * If the connector is being used to extract data FROM, @@ -24,6 +27,8 @@ package org.apache.sqoop.common; * is being used to load data TO, then the connector type * will be TO. */ [email protected] [email protected] public enum Direction { FROM, TO http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/DirectionError.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/common/DirectionError.java b/common/src/main/java/org/apache/sqoop/common/DirectionError.java index 288c954..425d4cb 100644 --- a/common/src/main/java/org/apache/sqoop/common/DirectionError.java +++ b/common/src/main/java/org/apache/sqoop/common/DirectionError.java @@ -17,6 +17,11 @@ */ package org.apache.sqoop.common; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; + [email protected] [email protected] public enum DirectionError implements ErrorCode { /** An unknown error has occurred. */ http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/ErrorCode.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/common/ErrorCode.java b/common/src/main/java/org/apache/sqoop/common/ErrorCode.java index 0458a57..d8f9d4b 100644 --- a/common/src/main/java/org/apache/sqoop/common/ErrorCode.java +++ b/common/src/main/java/org/apache/sqoop/common/ErrorCode.java @@ -17,12 +17,17 @@ */ 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 * communicate error information where possible. Each error code is associated * with default message that identifies the high level information related to * the underlying error condition. */ [email protected] [email protected] public interface ErrorCode { /** http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/ImmutableContext.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/common/ImmutableContext.java b/common/src/main/java/org/apache/sqoop/common/ImmutableContext.java index 69f3a03..7eed27f 100644 --- a/common/src/main/java/org/apache/sqoop/common/ImmutableContext.java +++ b/common/src/main/java/org/apache/sqoop/common/ImmutableContext.java @@ -17,11 +17,16 @@ */ package org.apache.sqoop.common; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; + /** * Immutable context interface for key value pairs. * * Useful for configuration objects that are not allowed to change. */ [email protected] [email protected] public interface ImmutableContext { /** http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/MapContext.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/common/MapContext.java b/common/src/main/java/org/apache/sqoop/common/MapContext.java index d1f9420..d23ff1a 100644 --- a/common/src/main/java/org/apache/sqoop/common/MapContext.java +++ b/common/src/main/java/org/apache/sqoop/common/MapContext.java @@ -17,6 +17,9 @@ */ package org.apache.sqoop.common; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; + import java.util.HashMap; import java.util.Map; import java.util.regex.Matcher; @@ -25,6 +28,8 @@ import java.util.regex.Pattern; /** * ImmutableContext implementation based on (Hash)Map. */ [email protected] [email protected] public class MapContext implements ImmutableContext { private final Map<String, String> options; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/MutableContext.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/common/MutableContext.java b/common/src/main/java/org/apache/sqoop/common/MutableContext.java index ddf8af0..272343f 100644 --- a/common/src/main/java/org/apache/sqoop/common/MutableContext.java +++ b/common/src/main/java/org/apache/sqoop/common/MutableContext.java @@ -17,9 +17,14 @@ */ package org.apache.sqoop.common; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; + /** * Mutable addition to immutable context. */ [email protected] [email protected] public interface MutableContext extends ImmutableContext { /** http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/MutableMapContext.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/common/MutableMapContext.java b/common/src/main/java/org/apache/sqoop/common/MutableMapContext.java index bb03ec0..61751bf 100644 --- a/common/src/main/java/org/apache/sqoop/common/MutableMapContext.java +++ b/common/src/main/java/org/apache/sqoop/common/MutableMapContext.java @@ -17,6 +17,9 @@ */ package org.apache.sqoop.common; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; + import java.util.HashMap; import java.util.Iterator; import java.util.Map; @@ -24,6 +27,8 @@ import java.util.Map; /** * Mutable variant of context class for "special" usage */ [email protected] [email protected] public class MutableMapContext extends MapContext implements Iterable<Map.Entry<String, String>>, MutableContext { public MutableMapContext(Map<String, String> options) { http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/PrefixContext.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/common/PrefixContext.java b/common/src/main/java/org/apache/sqoop/common/PrefixContext.java index 6434e6d..8d33861 100644 --- a/common/src/main/java/org/apache/sqoop/common/PrefixContext.java +++ b/common/src/main/java/org/apache/sqoop/common/PrefixContext.java @@ -17,6 +17,8 @@ */ 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.sqoop.common.ImmutableContext; @@ -25,6 +27,8 @@ import org.apache.sqoop.common.ImmutableContext; * object. Each context property is prefixed with special prefix and loaded * directly. */ [email protected] [email protected] public class PrefixContext implements ImmutableContext { Configuration configuration; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/SqoopException.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/common/SqoopException.java b/common/src/main/java/org/apache/sqoop/common/SqoopException.java index 6c5dc2a..06b39e6 100644 --- a/common/src/main/java/org/apache/sqoop/common/SqoopException.java +++ b/common/src/main/java/org/apache/sqoop/common/SqoopException.java @@ -18,12 +18,17 @@ 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 * of an error code for reference purposes. Where necessary the appropriate * constructor can be used to pass in additional message beyond what is * specified by the error code and/or the causal exception. */ [email protected] [email protected] @SuppressWarnings("serial") public class SqoopException extends RuntimeException { http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/SqoopProtocolConstants.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/common/SqoopProtocolConstants.java b/common/src/main/java/org/apache/sqoop/common/SqoopProtocolConstants.java index 8f4f709..72b5d87 100644 --- a/common/src/main/java/org/apache/sqoop/common/SqoopProtocolConstants.java +++ b/common/src/main/java/org/apache/sqoop/common/SqoopProtocolConstants.java @@ -17,6 +17,11 @@ */ package org.apache.sqoop.common; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; + [email protected] [email protected] public final class SqoopProtocolConstants { public static final String HEADER_SQOOP_ERROR_CODE = "sqoop-error-code"; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/SqoopResponseCode.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/common/SqoopResponseCode.java b/common/src/main/java/org/apache/sqoop/common/SqoopResponseCode.java index 93a43f5..da50078 100644 --- a/common/src/main/java/org/apache/sqoop/common/SqoopResponseCode.java +++ b/common/src/main/java/org/apache/sqoop/common/SqoopResponseCode.java @@ -17,6 +17,11 @@ */ package org.apache.sqoop.common; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; + [email protected] [email protected] public enum SqoopResponseCode { SQOOP_1000("1000", "OK"), http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/SupportedDirections.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/common/SupportedDirections.java b/common/src/main/java/org/apache/sqoop/common/SupportedDirections.java index c527117..2fae427 100644 --- a/common/src/main/java/org/apache/sqoop/common/SupportedDirections.java +++ b/common/src/main/java/org/apache/sqoop/common/SupportedDirections.java @@ -17,9 +17,14 @@ */ package org.apache.sqoop.common; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; + /** * Represents which Directions are supported. */ [email protected] [email protected] public class SupportedDirections implements Comparable<SupportedDirections> { private static final char SUPPORTED_DIRECTIONS_SEPARATOR = '/'; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/VersionAnnotation.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/common/VersionAnnotation.java b/common/src/main/java/org/apache/sqoop/common/VersionAnnotation.java index 728a3a7..2fcbbb2 100644 --- a/common/src/main/java/org/apache/sqoop/common/VersionAnnotation.java +++ b/common/src/main/java/org/apache/sqoop/common/VersionAnnotation.java @@ -17,12 +17,17 @@ */ package org.apache.sqoop.common; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; + import java.lang.annotation.*; /** * A package attribute that captures the version that was compiled. * Copied down from hadoop. All is same except name of interface. */ [email protected] [email protected] @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.PACKAGE) public @interface VersionAnnotation { http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/common/VersionInfo.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/common/VersionInfo.java b/common/src/main/java/org/apache/sqoop/common/VersionInfo.java index 1b4873b..a7f5716 100644 --- a/common/src/main/java/org/apache/sqoop/common/VersionInfo.java +++ b/common/src/main/java/org/apache/sqoop/common/VersionInfo.java @@ -17,6 +17,11 @@ */ package org.apache.sqoop.common; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; + [email protected] [email protected] public final class VersionInfo { private static Package myPackage; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/etl/io/DataReader.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/etl/io/DataReader.java b/common/src/main/java/org/apache/sqoop/etl/io/DataReader.java index a555431..c6cd2b3 100644 --- a/common/src/main/java/org/apache/sqoop/etl/io/DataReader.java +++ b/common/src/main/java/org/apache/sqoop/etl/io/DataReader.java @@ -17,10 +17,15 @@ */ 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 * to the ETL engine. */ [email protected] [email protected] public abstract class DataReader { /** http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/etl/io/DataWriter.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/etl/io/DataWriter.java b/common/src/main/java/org/apache/sqoop/etl/io/DataWriter.java index 2166b09..c0fe08c 100644 --- a/common/src/main/java/org/apache/sqoop/etl/io/DataWriter.java +++ b/common/src/main/java/org/apache/sqoop/etl/io/DataWriter.java @@ -17,10 +17,15 @@ */ 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 * to the MR framework. */ [email protected] [email protected] public abstract class DataWriter { /** http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/job/etl/DestroyerContext.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/job/etl/DestroyerContext.java b/common/src/main/java/org/apache/sqoop/job/etl/DestroyerContext.java index 7afb120..f4f6d1d 100644 --- a/common/src/main/java/org/apache/sqoop/job/etl/DestroyerContext.java +++ b/common/src/main/java/org/apache/sqoop/job/etl/DestroyerContext.java @@ -17,6 +17,8 @@ */ 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.schema.Schema; @@ -25,6 +27,8 @@ import org.apache.sqoop.schema.Schema; * * This class is wrapping information if the run was successful or not. */ [email protected] [email protected] public class DestroyerContext extends TransferableContext { private boolean success; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/job/etl/ExtractorContext.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/job/etl/ExtractorContext.java b/common/src/main/java/org/apache/sqoop/job/etl/ExtractorContext.java index 1e0f0ec..43fcaa2 100644 --- a/common/src/main/java/org/apache/sqoop/job/etl/ExtractorContext.java +++ b/common/src/main/java/org/apache/sqoop/job/etl/ExtractorContext.java @@ -17,6 +17,8 @@ */ 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.etl.io.DataWriter; import org.apache.sqoop.schema.Schema; @@ -26,6 +28,8 @@ import org.apache.sqoop.schema.Schema; * * This class is wrapping writer object. */ [email protected] [email protected] public class ExtractorContext extends TransferableContext { private final DataWriter writer; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/job/etl/InitializerContext.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/job/etl/InitializerContext.java b/common/src/main/java/org/apache/sqoop/job/etl/InitializerContext.java index 4de00a6..469132b 100644 --- a/common/src/main/java/org/apache/sqoop/job/etl/InitializerContext.java +++ b/common/src/main/java/org/apache/sqoop/job/etl/InitializerContext.java @@ -17,6 +17,8 @@ */ package org.apache.sqoop.job.etl; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; import org.apache.sqoop.common.MutableContext; /** @@ -25,6 +27,8 @@ import org.apache.sqoop.common.MutableContext; * * This class is returning mutable context instead of immutable. */ [email protected] [email protected] public class InitializerContext extends TransferableContext { public InitializerContext(MutableContext context) { http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/job/etl/LoaderContext.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/job/etl/LoaderContext.java b/common/src/main/java/org/apache/sqoop/job/etl/LoaderContext.java index 9d556eb..f9ea9ad 100644 --- a/common/src/main/java/org/apache/sqoop/job/etl/LoaderContext.java +++ b/common/src/main/java/org/apache/sqoop/job/etl/LoaderContext.java @@ -17,6 +17,8 @@ */ 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.etl.io.DataReader; import org.apache.sqoop.schema.Schema; @@ -26,6 +28,8 @@ import org.apache.sqoop.schema.Schema; * * This class is also wrapping reader object. */ [email protected] [email protected] public class LoaderContext extends TransferableContext { private final DataReader reader; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/job/etl/PartitionerContext.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/job/etl/PartitionerContext.java b/common/src/main/java/org/apache/sqoop/job/etl/PartitionerContext.java index 79901fd..67fffd6 100644 --- a/common/src/main/java/org/apache/sqoop/job/etl/PartitionerContext.java +++ b/common/src/main/java/org/apache/sqoop/job/etl/PartitionerContext.java @@ -17,6 +17,8 @@ */ 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.schema.Schema; @@ -25,6 +27,8 @@ import org.apache.sqoop.schema.Schema; * * This class is also wrapping number of maximal allowed partitions. */ [email protected] [email protected] public class PartitionerContext extends TransferableContext { private long maxPartitions; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/job/etl/TransferableContext.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/job/etl/TransferableContext.java b/common/src/main/java/org/apache/sqoop/job/etl/TransferableContext.java index e57bf45..ad18e29 100644 --- a/common/src/main/java/org/apache/sqoop/job/etl/TransferableContext.java +++ b/common/src/main/java/org/apache/sqoop/job/etl/TransferableContext.java @@ -17,11 +17,15 @@ */ package org.apache.sqoop.job.etl; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; import org.apache.sqoop.common.ImmutableContext; /** * Base context class for the {@link Transferable} components */ [email protected] [email protected] public abstract class TransferableContext { ImmutableContext context; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/ConfigurableBean.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/json/ConfigurableBean.java b/common/src/main/java/org/apache/sqoop/json/ConfigurableBean.java index 49dd057..0b79666 100644 --- a/common/src/main/java/org/apache/sqoop/json/ConfigurableBean.java +++ b/common/src/main/java/org/apache/sqoop/json/ConfigurableBean.java @@ -17,9 +17,14 @@ package org.apache.sqoop.json; * limitations under the License. */ +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; + /** * Marker class for the configurables supported in sqoop */ [email protected] [email protected] public abstract class ConfigurableBean implements JsonBean { } http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/ConnectorBean.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/json/ConnectorBean.java b/common/src/main/java/org/apache/sqoop/json/ConnectorBean.java index 6dc14d0..0322032 100644 --- a/common/src/main/java/org/apache/sqoop/json/ConnectorBean.java +++ b/common/src/main/java/org/apache/sqoop/json/ConnectorBean.java @@ -28,6 +28,8 @@ import java.util.List; import java.util.Map; 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.model.MConfig; import org.apache.sqoop.model.MConnector; @@ -41,6 +43,8 @@ import org.json.simple.JSONObject; * Json representation of the connector object * */ [email protected] [email protected] public class ConnectorBean extends ConfigurableBean { // to represent the config and inputs with values http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/ConnectorsBean.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/json/ConnectorsBean.java b/common/src/main/java/org/apache/sqoop/json/ConnectorsBean.java index b04594e..88b71f5 100644 --- a/common/src/main/java/org/apache/sqoop/json/ConnectorsBean.java +++ b/common/src/main/java/org/apache/sqoop/json/ConnectorsBean.java @@ -21,6 +21,8 @@ import java.util.List; import java.util.Map; import java.util.ResourceBundle; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; import org.apache.sqoop.model.MConnector; import org.json.simple.JSONArray; import org.json.simple.JSONObject; @@ -29,6 +31,8 @@ import org.json.simple.JSONObject; * Json representation of the connectors object * */ [email protected] [email protected] public class ConnectorsBean extends ConnectorBean { // to represent the config and inputs with values http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/DriverBean.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/json/DriverBean.java b/common/src/main/java/org/apache/sqoop/json/DriverBean.java index 593ce2f..6012917 100644 --- a/common/src/main/java/org/apache/sqoop/json/DriverBean.java +++ b/common/src/main/java/org/apache/sqoop/json/DriverBean.java @@ -25,6 +25,8 @@ import static org.apache.sqoop.json.util.ConfigBundleSerialization.restoreConfig import java.util.List; 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.MDriver; import org.apache.sqoop.model.MDriverConfig; @@ -33,6 +35,8 @@ import org.json.simple.JSONObject; /** * Json representation of the driver */ [email protected] [email protected] public class DriverBean extends ConfigurableBean { public static final String CURRENT_DRIVER_VERSION = "1"; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/JSONUtils.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/json/JSONUtils.java b/common/src/main/java/org/apache/sqoop/json/JSONUtils.java index e7551d2..ff8f9ea 100644 --- a/common/src/main/java/org/apache/sqoop/json/JSONUtils.java +++ b/common/src/main/java/org/apache/sqoop/json/JSONUtils.java @@ -17,6 +17,8 @@ */ 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.json.util.SerializationError; import org.json.simple.JSONObject; @@ -28,6 +30,8 @@ import java.io.Reader; /** */ [email protected] [email protected] public class JSONUtils { /** http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/JobBean.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/json/JobBean.java b/common/src/main/java/org/apache/sqoop/json/JobBean.java index 00cba56..0561ade 100644 --- a/common/src/main/java/org/apache/sqoop/json/JobBean.java +++ b/common/src/main/java/org/apache/sqoop/json/JobBean.java @@ -27,6 +27,8 @@ import java.util.List; import java.util.Map; 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.model.MConfig; import org.apache.sqoop.model.MDriverConfig; @@ -39,6 +41,8 @@ import org.json.simple.JSONObject; /** * Json representation of the job */ [email protected] [email protected] public class JobBean implements JsonBean { static final String FROM_LINK_ID = "from-link-id"; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/JobsBean.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/json/JobsBean.java b/common/src/main/java/org/apache/sqoop/json/JobsBean.java index 3c454ea..c62ab49 100644 --- a/common/src/main/java/org/apache/sqoop/json/JobsBean.java +++ b/common/src/main/java/org/apache/sqoop/json/JobsBean.java @@ -19,6 +19,8 @@ package org.apache.sqoop.json; import java.util.List; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; import org.apache.sqoop.model.MJob; import org.json.simple.JSONArray; import org.json.simple.JSONObject; @@ -26,6 +28,8 @@ import org.json.simple.JSONObject; /** * Json representation of the jobs */ [email protected] [email protected] public class JobsBean extends JobBean { private static final String JOBS = "jobs"; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/JsonBean.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/json/JsonBean.java b/common/src/main/java/org/apache/sqoop/json/JsonBean.java index 7cf24ba..1dd275e 100644 --- a/common/src/main/java/org/apache/sqoop/json/JsonBean.java +++ b/common/src/main/java/org/apache/sqoop/json/JsonBean.java @@ -17,8 +17,12 @@ */ package org.apache.sqoop.json; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; import org.json.simple.JSONObject; [email protected] [email protected] public interface JsonBean { // common JSON constants for the rest-api response http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/LinkBean.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/json/LinkBean.java b/common/src/main/java/org/apache/sqoop/json/LinkBean.java index 5ee4e01..2e2406f 100644 --- a/common/src/main/java/org/apache/sqoop/json/LinkBean.java +++ b/common/src/main/java/org/apache/sqoop/json/LinkBean.java @@ -27,6 +27,8 @@ import java.util.List; import java.util.Map; 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.MLink; import org.apache.sqoop.model.MLinkConfig; @@ -38,6 +40,8 @@ import org.json.simple.JSONObject; * server and client. Server might optionally send configs associated with the * links to spare client of sending another HTTP requests to obtain them. */ [email protected] [email protected] public class LinkBean implements JsonBean { static final String CONNECTOR_ID = "connector-id"; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/LinksBean.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/json/LinksBean.java b/common/src/main/java/org/apache/sqoop/json/LinksBean.java index 58cacb9..6e4a906 100644 --- a/common/src/main/java/org/apache/sqoop/json/LinksBean.java +++ b/common/src/main/java/org/apache/sqoop/json/LinksBean.java @@ -19,10 +19,14 @@ package org.apache.sqoop.json; import java.util.List; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; import org.apache.sqoop.model.MLink; import org.json.simple.JSONArray; import org.json.simple.JSONObject; [email protected] [email protected] public class LinksBean extends LinkBean { static final String LINKS = "links"; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/SchemaBean.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/json/SchemaBean.java b/common/src/main/java/org/apache/sqoop/json/SchemaBean.java index f51fec8..9ba22e5 100644 --- a/common/src/main/java/org/apache/sqoop/json/SchemaBean.java +++ b/common/src/main/java/org/apache/sqoop/json/SchemaBean.java @@ -17,6 +17,8 @@ */ 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.schema.Schema; import org.json.simple.JSONObject; @@ -24,6 +26,8 @@ import org.json.simple.JSONObject; /** * */ [email protected] [email protected] public class SchemaBean implements JsonBean { private Schema schema; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/SubmissionBean.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/json/SubmissionBean.java b/common/src/main/java/org/apache/sqoop/json/SubmissionBean.java index 66db0d4..ad05057 100644 --- a/common/src/main/java/org/apache/sqoop/json/SubmissionBean.java +++ b/common/src/main/java/org/apache/sqoop/json/SubmissionBean.java @@ -26,6 +26,8 @@ import java.util.List; import java.util.Map; 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.submission.SubmissionStatus; import org.apache.sqoop.submission.counter.Counter; @@ -37,6 +39,8 @@ import org.json.simple.JSONObject; /** * */ [email protected] [email protected] public class SubmissionBean implements JsonBean { private static final String SUBMISSION = "submission"; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/SubmissionsBean.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/json/SubmissionsBean.java b/common/src/main/java/org/apache/sqoop/json/SubmissionsBean.java index 74b6179..019abf1 100644 --- a/common/src/main/java/org/apache/sqoop/json/SubmissionsBean.java +++ b/common/src/main/java/org/apache/sqoop/json/SubmissionsBean.java @@ -19,10 +19,14 @@ package org.apache.sqoop.json; import java.util.List; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; import org.apache.sqoop.model.MSubmission; import org.json.simple.JSONArray; import org.json.simple.JSONObject; [email protected] [email protected] public class SubmissionsBean extends SubmissionBean { private static final String SUBMISSIONS = "submissions"; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/ThrowableBean.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/json/ThrowableBean.java b/common/src/main/java/org/apache/sqoop/json/ThrowableBean.java index cd26020..7748247 100644 --- a/common/src/main/java/org/apache/sqoop/json/ThrowableBean.java +++ b/common/src/main/java/org/apache/sqoop/json/ThrowableBean.java @@ -17,6 +17,8 @@ */ 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.utils.ClassUtils; import org.json.simple.JSONArray; @@ -28,6 +30,8 @@ import java.util.List; /** * Transfer throwable instance as a throwable bean. */ [email protected] [email protected] public class ThrowableBean implements JsonBean { public static final String MESSAGE = "message"; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/ValidationResultBean.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/json/ValidationResultBean.java b/common/src/main/java/org/apache/sqoop/json/ValidationResultBean.java index e9b4899..4ac9533 100644 --- a/common/src/main/java/org/apache/sqoop/json/ValidationResultBean.java +++ b/common/src/main/java/org/apache/sqoop/json/ValidationResultBean.java @@ -17,6 +17,8 @@ */ 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.Status; import org.apache.sqoop.validation.ConfigValidationResult; @@ -31,6 +33,8 @@ import java.util.Set; /** * Serialize and transfer validation results (0..N). */ [email protected] [email protected] public class ValidationResultBean implements JsonBean { private static final String VALIDATION_RESULT = "validation-result"; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/VersionBean.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/json/VersionBean.java b/common/src/main/java/org/apache/sqoop/json/VersionBean.java index 53d19b1..3746ca4 100644 --- a/common/src/main/java/org/apache/sqoop/json/VersionBean.java +++ b/common/src/main/java/org/apache/sqoop/json/VersionBean.java @@ -17,9 +17,13 @@ */ 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.JSONObject; [email protected] [email protected] public class VersionBean implements JsonBean { public static final String BUILD_VERSION = "build-version"; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/util/ConfigBundleSerialization.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/json/util/ConfigBundleSerialization.java b/common/src/main/java/org/apache/sqoop/json/util/ConfigBundleSerialization.java index 6133798..d91eceb 100644 --- a/common/src/main/java/org/apache/sqoop/json/util/ConfigBundleSerialization.java +++ b/common/src/main/java/org/apache/sqoop/json/util/ConfigBundleSerialization.java @@ -17,6 +17,8 @@ */ 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.json.simple.JSONArray; import org.json.simple.JSONObject; @@ -31,6 +33,8 @@ import java.util.ResourceBundle; /** * */ [email protected] [email protected] public final class ConfigBundleSerialization { @SuppressWarnings("unchecked") http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/util/ConfigInputConstants.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/json/util/ConfigInputConstants.java b/common/src/main/java/org/apache/sqoop/json/util/ConfigInputConstants.java index df8a870..5d261de 100644 --- a/common/src/main/java/org/apache/sqoop/json/util/ConfigInputConstants.java +++ b/common/src/main/java/org/apache/sqoop/json/util/ConfigInputConstants.java @@ -17,9 +17,14 @@ */ package org.apache.sqoop.json.util; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; + /** * Constants related to the configs */ [email protected] [email protected] public class ConfigInputConstants { public static final String CONFIG_ID = "id"; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/util/ConfigInputSerialization.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/json/util/ConfigInputSerialization.java b/common/src/main/java/org/apache/sqoop/json/util/ConfigInputSerialization.java index 4667f5c..8b11ed5 100644 --- a/common/src/main/java/org/apache/sqoop/json/util/ConfigInputSerialization.java +++ b/common/src/main/java/org/apache/sqoop/json/util/ConfigInputSerialization.java @@ -18,6 +18,8 @@ package org.apache.sqoop.json.util; 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.model.MBooleanInput; import org.apache.sqoop.model.MEnumInput; @@ -38,6 +40,8 @@ import java.util.Map; /** * Convenient static methods for serializing config and input objects. */ [email protected] [email protected] public final class ConfigInputSerialization { /** http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/util/SchemaSerialization.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/json/util/SchemaSerialization.java b/common/src/main/java/org/apache/sqoop/json/util/SchemaSerialization.java index bbd58fc..a6425fe 100644 --- a/common/src/main/java/org/apache/sqoop/json/util/SchemaSerialization.java +++ b/common/src/main/java/org/apache/sqoop/json/util/SchemaSerialization.java @@ -19,6 +19,8 @@ package org.apache.sqoop.json.util; 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.Schema; import org.apache.sqoop.schema.type.AbstractComplexListType; @@ -46,6 +48,8 @@ import org.json.simple.JSONObject; /** * */ [email protected] [email protected] public class SchemaSerialization { // common attributes of all column types http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/json/util/SerializationError.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/json/util/SerializationError.java b/common/src/main/java/org/apache/sqoop/json/util/SerializationError.java index 3d440da..d5cdb31 100644 --- a/common/src/main/java/org/apache/sqoop/json/util/SerializationError.java +++ b/common/src/main/java/org/apache/sqoop/json/util/SerializationError.java @@ -17,8 +17,12 @@ */ package org.apache.sqoop.json.util; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; import org.apache.sqoop.common.ErrorCode; [email protected] [email protected] public enum SerializationError implements ErrorCode { SERIALIZATION_001("Attempt to pass a non-map object to MAP type."), http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/Config.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/Config.java b/common/src/main/java/org/apache/sqoop/model/Config.java index b4d847d..644cffe 100644 --- a/common/src/main/java/org/apache/sqoop/model/Config.java +++ b/common/src/main/java/org/apache/sqoop/model/Config.java @@ -17,12 +17,17 @@ */ 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.RetentionPolicy; /** * Denote config in Configuration class */ [email protected] [email protected] @Retention(RetentionPolicy.RUNTIME) public @interface Config { /** http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/ConfigClass.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/ConfigClass.java b/common/src/main/java/org/apache/sqoop/model/ConfigClass.java index f925759..8602a10 100644 --- a/common/src/main/java/org/apache/sqoop/model/ConfigClass.java +++ b/common/src/main/java/org/apache/sqoop/model/ConfigClass.java @@ -17,6 +17,9 @@ */ 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.Retention; import java.lang.annotation.RetentionPolicy; @@ -25,6 +28,8 @@ import java.lang.annotation.Target; /** * Denote configuration class */ [email protected] [email protected] @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public @interface ConfigClass { http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/ConfigUtils.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/ConfigUtils.java b/common/src/main/java/org/apache/sqoop/model/ConfigUtils.java index 3765a6d..279f3a6 100644 --- a/common/src/main/java/org/apache/sqoop/model/ConfigUtils.java +++ b/common/src/main/java/org/apache/sqoop/model/ConfigUtils.java @@ -18,6 +18,8 @@ package org.apache.sqoop.model; 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.json.JSONUtils; import org.apache.sqoop.utils.ClassUtils; @@ -41,6 +43,8 @@ import java.util.Set; * * TODO: This class should see some overhaul into more reusable code, especially expose and re-use the methods at the end. */ [email protected] [email protected] public class ConfigUtils { /** http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/Configurable.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/Configurable.java b/common/src/main/java/org/apache/sqoop/model/Configurable.java index 2033fcb..ea544e5 100644 --- a/common/src/main/java/org/apache/sqoop/model/Configurable.java +++ b/common/src/main/java/org/apache/sqoop/model/Configurable.java @@ -17,9 +17,14 @@ */ 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 */ [email protected] [email protected] public abstract class Configurable extends MPersistableEntity implements MClonable { } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/ConfigurationClass.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/ConfigurationClass.java b/common/src/main/java/org/apache/sqoop/model/ConfigurationClass.java index c65c478..0fface8 100644 --- a/common/src/main/java/org/apache/sqoop/model/ConfigurationClass.java +++ b/common/src/main/java/org/apache/sqoop/model/ConfigurationClass.java @@ -17,6 +17,9 @@ */ 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.Retention; import java.lang.annotation.RetentionPolicy; @@ -27,6 +30,8 @@ import java.lang.annotation.Target; * Each class that is used a configuration group object, the connector developer * is expected to provide the inputs needed for this annotation */ [email protected] [email protected] @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public @interface ConfigurationClass { http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/Input.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/Input.java b/common/src/main/java/org/apache/sqoop/model/Input.java index db3e0e6..b6305f2 100644 --- a/common/src/main/java/org/apache/sqoop/model/Input.java +++ b/common/src/main/java/org/apache/sqoop/model/Input.java @@ -17,6 +17,9 @@ */ 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.Retention; import java.lang.annotation.RetentionPolicy; @@ -26,6 +29,8 @@ import java.lang.annotation.Target; * Field annotation. Each field that user might change in configuration object * need to have this annotation. */ [email protected] [email protected] @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface Input { http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MAccountableEntity.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/MAccountableEntity.java b/common/src/main/java/org/apache/sqoop/model/MAccountableEntity.java index 094af39..a2ec587 100644 --- a/common/src/main/java/org/apache/sqoop/model/MAccountableEntity.java +++ b/common/src/main/java/org/apache/sqoop/model/MAccountableEntity.java @@ -17,12 +17,17 @@ */ package org.apache.sqoop.model; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; + import java.util.Date; /** * Accountable entity provides additional fields that might help with identifying * what and when has happened. */ [email protected] [email protected] abstract public class MAccountableEntity extends MValidatedElement { private final boolean DEFAULT_ENABLED = true; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MBooleanInput.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/MBooleanInput.java b/common/src/main/java/org/apache/sqoop/model/MBooleanInput.java index da380dd..c7fcf90 100644 --- a/common/src/main/java/org/apache/sqoop/model/MBooleanInput.java +++ b/common/src/main/java/org/apache/sqoop/model/MBooleanInput.java @@ -17,9 +17,14 @@ */ package org.apache.sqoop.model; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; + /** * Represents a <tt>Boolean</tt> input. */ [email protected] [email protected] public class MBooleanInput extends MInput<Boolean> { public MBooleanInput(String name, boolean sensitive) { http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MClonable.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/MClonable.java b/common/src/main/java/org/apache/sqoop/model/MClonable.java index 6353779..2284d79 100644 --- a/common/src/main/java/org/apache/sqoop/model/MClonable.java +++ b/common/src/main/java/org/apache/sqoop/model/MClonable.java @@ -17,6 +17,11 @@ */ package org.apache.sqoop.model; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; + [email protected] [email protected] public interface MClonable { /** * Clone object http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MConfig.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/MConfig.java b/common/src/main/java/org/apache/sqoop/model/MConfig.java index b5d2afd..d128441 100644 --- a/common/src/main/java/org/apache/sqoop/model/MConfig.java +++ b/common/src/main/java/org/apache/sqoop/model/MConfig.java @@ -17,6 +17,8 @@ */ package org.apache.sqoop.model; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; import org.apache.sqoop.common.SqoopException; import java.util.ArrayList; @@ -27,6 +29,8 @@ import java.util.List; * input gathering process to be broken down into multiple steps that can be * then paged through by the user interface. */ [email protected] [email protected] public final class MConfig extends MValidatedElement implements MClonable { private final List<MInput<?>> inputs; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MConfigList.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/MConfigList.java b/common/src/main/java/org/apache/sqoop/model/MConfigList.java index 20309e1..add80d8 100644 --- a/common/src/main/java/org/apache/sqoop/model/MConfigList.java +++ b/common/src/main/java/org/apache/sqoop/model/MConfigList.java @@ -17,6 +17,8 @@ */ package org.apache.sqoop.model; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; import org.apache.sqoop.common.SqoopException; import java.util.ArrayList; @@ -25,6 +27,8 @@ import java.util.List; /** * Arbitrary list of config objects. */ [email protected] [email protected] public class MConfigList implements MClonable { private final List<MConfig> configObjects; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MConfigType.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/MConfigType.java b/common/src/main/java/org/apache/sqoop/model/MConfigType.java index a9f7dad..fa29d5a 100644 --- a/common/src/main/java/org/apache/sqoop/model/MConfigType.java +++ b/common/src/main/java/org/apache/sqoop/model/MConfigType.java @@ -17,9 +17,14 @@ */ 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. */ [email protected] [email protected] public enum MConfigType { /** Unknown config type */ http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MConfigurableType.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/MConfigurableType.java b/common/src/main/java/org/apache/sqoop/model/MConfigurableType.java index 7ab7032..b147d7d 100644 --- a/common/src/main/java/org/apache/sqoop/model/MConfigurableType.java +++ b/common/src/main/java/org/apache/sqoop/model/MConfigurableType.java @@ -17,9 +17,14 @@ */ 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 */ [email protected] [email protected] public enum MConfigurableType { /** Connector as a owner of config keys */ http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MConnector.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/MConnector.java b/common/src/main/java/org/apache/sqoop/model/MConnector.java index 1b9462e..d49f620 100644 --- a/common/src/main/java/org/apache/sqoop/model/MConnector.java +++ b/common/src/main/java/org/apache/sqoop/model/MConnector.java @@ -17,6 +17,8 @@ */ 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.DirectionError; import org.apache.sqoop.common.SqoopException; @@ -27,6 +29,8 @@ import org.apache.sqoop.common.SupportedDirections; * that identifies connector in the repository, unique human readable name, * corresponding name and all configs to support the from and to data sources */ [email protected] [email protected] public final class MConnector extends Configurable { private final String uniqueName; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MDriver.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/MDriver.java b/common/src/main/java/org/apache/sqoop/model/MDriver.java index cc47511..75eaa46 100644 --- a/common/src/main/java/org/apache/sqoop/model/MDriver.java +++ b/common/src/main/java/org/apache/sqoop/model/MDriver.java @@ -18,9 +18,14 @@ 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. */ [email protected] [email protected] public final class MDriver extends Configurable { public static final String DRIVER_NAME = "SqoopDriver"; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MDriverConfig.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/MDriverConfig.java b/common/src/main/java/org/apache/sqoop/model/MDriverConfig.java index 3faf1d3..77d947f 100644 --- a/common/src/main/java/org/apache/sqoop/model/MDriverConfig.java +++ b/common/src/main/java/org/apache/sqoop/model/MDriverConfig.java @@ -17,14 +17,18 @@ */ package org.apache.sqoop.model; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; + import java.util.List; /** * Config describing all required information for the driver * 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 - */ [email protected] [email protected] public class MDriverConfig extends MConfigList { public MDriverConfig(List<MConfig> configs) { super(configs, MConfigType.JOB); http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MEnumInput.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/MEnumInput.java b/common/src/main/java/org/apache/sqoop/model/MEnumInput.java index 28830f4..74838fc 100644 --- a/common/src/main/java/org/apache/sqoop/model/MEnumInput.java +++ b/common/src/main/java/org/apache/sqoop/model/MEnumInput.java @@ -18,6 +18,8 @@ package org.apache.sqoop.model; 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 java.util.Arrays; @@ -25,6 +27,8 @@ import java.util.Arrays; /** * */ [email protected] [email protected] public class MEnumInput extends MInput<String> { /** http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MFromConfig.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/MFromConfig.java b/common/src/main/java/org/apache/sqoop/model/MFromConfig.java index 1e9e845..7093a93 100644 --- a/common/src/main/java/org/apache/sqoop/model/MFromConfig.java +++ b/common/src/main/java/org/apache/sqoop/model/MFromConfig.java @@ -17,14 +17,18 @@ */ package org.apache.sqoop.model; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; + import java.util.List; /** * 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 * In future this could be simplified to hold a single list of all configs for the FROM object - */ [email protected] [email protected] public class MFromConfig extends MConfigList { public MFromConfig(List<MConfig> configs) { super(configs, MConfigType.JOB); http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MInput.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/MInput.java b/common/src/main/java/org/apache/sqoop/model/MInput.java index 0074267..d1c2ab6 100644 --- a/common/src/main/java/org/apache/sqoop/model/MInput.java +++ b/common/src/main/java/org/apache/sqoop/model/MInput.java @@ -17,12 +17,17 @@ */ 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 * or a job object. * @param <T> the value type associated with this parameter * @param boolean whether or not the field contains sensitive information */ [email protected] [email protected] public abstract class MInput<T> extends MValidatedElement implements MClonable { private final boolean sensitive; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MInputType.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/MInputType.java b/common/src/main/java/org/apache/sqoop/model/MInputType.java index af40054..bdc3424 100644 --- a/common/src/main/java/org/apache/sqoop/model/MInputType.java +++ b/common/src/main/java/org/apache/sqoop/model/MInputType.java @@ -17,9 +17,14 @@ */ 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. */ [email protected] [email protected] public enum MInputType { /** Unknown input type */ http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MIntegerInput.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/MIntegerInput.java b/common/src/main/java/org/apache/sqoop/model/MIntegerInput.java index a43f440..de50cd4 100644 --- a/common/src/main/java/org/apache/sqoop/model/MIntegerInput.java +++ b/common/src/main/java/org/apache/sqoop/model/MIntegerInput.java @@ -17,11 +17,16 @@ */ package org.apache.sqoop.model; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; + /** * Integer base user input. * * This input is able to process empty (NULL) value. */ [email protected] [email protected] public class MIntegerInput extends MInput<Integer> { public MIntegerInput(String name, boolean sensitive) { http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MJob.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/MJob.java b/common/src/main/java/org/apache/sqoop/model/MJob.java index 935dd18..4b5c896 100644 --- a/common/src/main/java/org/apache/sqoop/model/MJob.java +++ b/common/src/main/java/org/apache/sqoop/model/MJob.java @@ -17,6 +17,8 @@ */ 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.DirectionError; import org.apache.sqoop.common.SqoopException; @@ -25,6 +27,8 @@ import org.apache.sqoop.common.SqoopException; * Model describing entire job object including the from/to and driver config information * to execute the job */ [email protected] [email protected] public class MJob extends MAccountableEntity implements MClonable { /** * NOTE : Job object do not immediately depend on connector as there is indirect http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MLink.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/MLink.java b/common/src/main/java/org/apache/sqoop/model/MLink.java index 8e31861..062a4c5 100644 --- a/common/src/main/java/org/apache/sqoop/model/MLink.java +++ b/common/src/main/java/org/apache/sqoop/model/MLink.java @@ -17,9 +17,14 @@ */ 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 */ [email protected] [email protected] public class MLink extends MAccountableEntity implements MClonable { 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 http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MLinkConfig.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/MLinkConfig.java b/common/src/main/java/org/apache/sqoop/model/MLinkConfig.java index 040dca4..9042ca5 100644 --- a/common/src/main/java/org/apache/sqoop/model/MLinkConfig.java +++ b/common/src/main/java/org/apache/sqoop/model/MLinkConfig.java @@ -17,6 +17,9 @@ */ package org.apache.sqoop.model; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; + import java.util.List; /** @@ -24,6 +27,8 @@ import java.util.List; * 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 */ [email protected] [email protected] public class MLinkConfig extends MConfigList { public MLinkConfig(List<MConfig> configs) { http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MMapInput.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/MMapInput.java b/common/src/main/java/org/apache/sqoop/model/MMapInput.java index 37dd265..cf781b2 100644 --- a/common/src/main/java/org/apache/sqoop/model/MMapInput.java +++ b/common/src/main/java/org/apache/sqoop/model/MMapInput.java @@ -21,8 +21,12 @@ import java.util.HashMap; import java.util.Map; import java.util.Set; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; import org.apache.sqoop.utils.UrlSafeUtils; [email protected] [email protected] public final class MMapInput extends MInput<Map<String, String>> { public MMapInput(String name, boolean sensitive) { http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MNamedElement.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/MNamedElement.java b/common/src/main/java/org/apache/sqoop/model/MNamedElement.java index ddacfcd..b18eaf1 100644 --- a/common/src/main/java/org/apache/sqoop/model/MNamedElement.java +++ b/common/src/main/java/org/apache/sqoop/model/MNamedElement.java @@ -17,9 +17,14 @@ */ 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. */ [email protected] [email protected] public abstract class MNamedElement extends MPersistableEntity { private static final String LABEL_KEY_SUFFIX = ".label"; private static final String HELP_KEY_SUFFIX = ".help"; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MPersistableEntity.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/MPersistableEntity.java b/common/src/main/java/org/apache/sqoop/model/MPersistableEntity.java index 6507aca..721daed 100644 --- a/common/src/main/java/org/apache/sqoop/model/MPersistableEntity.java +++ b/common/src/main/java/org/apache/sqoop/model/MPersistableEntity.java @@ -17,9 +17,14 @@ */ package org.apache.sqoop.model; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; + /** * Represents a persistable metadata entity. */ [email protected] [email protected] public abstract class MPersistableEntity { public static final long PERSISTANCE_ID_DEFAULT = -1L; http://git-wip-us.apache.org/repos/asf/sqoop/blob/89f737b2/common/src/main/java/org/apache/sqoop/model/MStringInput.java ---------------------------------------------------------------------- diff --git a/common/src/main/java/org/apache/sqoop/model/MStringInput.java b/common/src/main/java/org/apache/sqoop/model/MStringInput.java index 289a4ee..4854838 100644 --- a/common/src/main/java/org/apache/sqoop/model/MStringInput.java +++ b/common/src/main/java/org/apache/sqoop/model/MStringInput.java @@ -17,6 +17,8 @@ */ package org.apache.sqoop.model; +import org.apache.sqoop.classification.InterfaceAudience; +import org.apache.sqoop.classification.InterfaceStability; import org.apache.sqoop.utils.UrlSafeUtils; /** @@ -25,6 +27,8 @@ import org.apache.sqoop.utils.UrlSafeUtils; * from user-view. This is helpful for creating input strings that represent * sensitive information such as passwords. */ [email protected] [email protected] public final class MStringInput extends MInput<String> { private final short maxLength;
