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 2e095160..60e0d004 100644 --- a/client/src/main/java/org/apache/sqoop/client/SqoopClient.java +++ b/client/src/main/java/org/apache/sqoop/client/SqoopClient.java @@ -810,7 +810,7 @@ public Token[] addDelegationTokens(String renewer, private Status applyLinkValidations(ValidationResultBean bean, MLink link) { ConfigValidationResult linkConfig = bean.getValidationResults()[0]; // Apply validation results - ConfigUtils.applyValidation(link.getConnectorLinkConfig().getConfigs(), linkConfig); + ConfigUtils.applyValidation(link.getConnectorLinkConfig(), linkConfig); Long id = bean.getId(); if (id != null) { link.setPersistenceId(id); @@ -825,13 +825,13 @@ private Status applyJobValidations(ValidationResultBean bean, MJob job) { ConfigValidationResult driver = bean.getValidationResults()[2]; ConfigUtils.applyValidation( - job.getFromJobConfig().getConfigs(), + job.getFromJobConfig(), fromConfig); ConfigUtils.applyValidation( - job.getToJobConfig().getConfigs(), + job.getToJobConfig(), toConfig); ConfigUtils.applyValidation( - job.getDriverConfig().getConfigs(), + job.getDriverConfig(), driver ); 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 e5d4f804..493de8d5 100644 --- a/common/src/main/java/org/apache/sqoop/model/ConfigUtils.java +++ b/common/src/main/java/org/apache/sqoop/model/ConfigUtils.java @@ -343,12 +343,13 @@ public static void fromConfigs(List configs, Object configuration) { * @param configs * @param result */ - public static void applyValidation(List configs, ConfigValidationResult result) { - for(MConfig config : configs) { - applyValidation(config, result); + public static void applyValidation(MConfigList configList, ConfigValidationResult result) { + applyValidation(configList, "", result); + for(MConfig config : configList.getConfigs()) { + applyValidation(configList, config.getName(), result); for(MInput input : config.getInputs()) { - applyValidation(input, result); + applyValidation(input, input.getName(), result); } } } @@ -361,8 +362,8 @@ public static void applyValidation(List configs, ConfigValidationResult * @param element * @param result */ - public static void applyValidation(MValidatedElement element, ConfigValidationResult result) { - List messages = result.getMessages().get(element.getName()); + public static void applyValidation(MValidatedElement element, String name, ConfigValidationResult result) { + List messages = result.getMessages().get(name); if(messages != null) { element.setValidationMessages(messages); 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 8fc744a8..1b350f7f 100644 --- a/common/src/main/java/org/apache/sqoop/model/MAccountableEntity.java +++ b/common/src/main/java/org/apache/sqoop/model/MAccountableEntity.java @@ -28,7 +28,7 @@ */ @InterfaceAudience.Private @InterfaceStability.Unstable -abstract public class MAccountableEntity extends MValidatedElement { +abstract public class MAccountableEntity extends MNamedElement { private static final boolean DEFAULT_ENABLED = true; 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 b6189467..ad04263a 100644 --- a/common/src/main/java/org/apache/sqoop/model/MConfig.java +++ b/common/src/main/java/org/apache/sqoop/model/MConfig.java @@ -33,7 +33,7 @@ */ @InterfaceAudience.Public @InterfaceStability.Unstable -public final class MConfig extends MValidatedElement implements MClonable { +public final class MConfig extends MNamedElement implements MClonable { private final List> inputs; private Set inputNames = new HashSet(); 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 35cb17a2..1d889ea4 100644 --- a/common/src/main/java/org/apache/sqoop/model/MConfigList.java +++ b/common/src/main/java/org/apache/sqoop/model/MConfigList.java @@ -29,7 +29,7 @@ */ @InterfaceAudience.Public @InterfaceStability.Unstable -public class MConfigList implements MClonable { +public class MConfigList extends MValidatedElement implements MClonable { private final List configObjects; private final MConfigType type; 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 d5ce0740..649f2fd2 100644 --- a/common/src/main/java/org/apache/sqoop/model/MInput.java +++ b/common/src/main/java/org/apache/sqoop/model/MInput.java @@ -28,7 +28,7 @@ */ @InterfaceAudience.Public @InterfaceStability.Unstable -public abstract class MInput extends MValidatedElement implements MClonable { +public abstract class MInput extends MNamedElement implements MClonable { private final boolean sensitive; private final String overrides; 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 b18eaf1d..7972467f 100644 --- a/common/src/main/java/org/apache/sqoop/model/MNamedElement.java +++ b/common/src/main/java/org/apache/sqoop/model/MNamedElement.java @@ -25,7 +25,7 @@ */ @InterfaceAudience.Private @InterfaceStability.Unstable -public abstract class MNamedElement extends MPersistableEntity { +public abstract class MNamedElement extends MValidatedElement { private static final String LABEL_KEY_SUFFIX = ".label"; private static final String HELP_KEY_SUFFIX = ".help"; diff --git a/common/src/main/java/org/apache/sqoop/model/MValidatedElement.java b/common/src/main/java/org/apache/sqoop/model/MValidatedElement.java index dd19088c..c8042f68 100644 --- a/common/src/main/java/org/apache/sqoop/model/MValidatedElement.java +++ b/common/src/main/java/org/apache/sqoop/model/MValidatedElement.java @@ -30,7 +30,7 @@ */ @InterfaceAudience.Private @InterfaceStability.Unstable -public abstract class MValidatedElement extends MNamedElement { +public abstract class MValidatedElement extends MPersistableEntity { /** * Validation messages. @@ -42,8 +42,7 @@ public abstract class MValidatedElement extends MNamedElement { */ private Status validationStatus; - public MValidatedElement(String name) { - super(name); + public MValidatedElement() { resetValidationMessages(); } diff --git a/common/src/test/java/org/apache/sqoop/model/TestMValidatedElement.java b/common/src/test/java/org/apache/sqoop/model/TestMValidatedElement.java index 6fee4b54..4bd218ee 100644 --- a/common/src/test/java/org/apache/sqoop/model/TestMValidatedElement.java +++ b/common/src/test/java/org/apache/sqoop/model/TestMValidatedElement.java @@ -35,7 +35,6 @@ public class TestMValidatedElement { @Test public void testInitialization() { MValidatedElement input = new MIntegerInput("input", false,InputEditable.ANY, StringUtils.EMPTY ); - assertEquals("input", input.getName()); assertEquals(Status.OK, input.getValidationStatus()); } diff --git a/shell/src/main/java/org/apache/sqoop/shell/utils/ConfigFiller.java b/shell/src/main/java/org/apache/sqoop/shell/utils/ConfigFiller.java index 39bc9141..2dbde979 100644 --- a/shell/src/main/java/org/apache/sqoop/shell/utils/ConfigFiller.java +++ b/shell/src/main/java/org/apache/sqoop/shell/utils/ConfigFiller.java @@ -1121,7 +1121,7 @@ static String getName(ConsoleReader reader, String name) throws IOException { * * @param element Validated element */ - static void printValidationMessage(MValidatedElement element, boolean includeInputPrefix) { + static void printValidationMessage(MNamedElement element, boolean includeInputPrefix) { if(element.getValidationStatus() == Status.getDefault()) { return; }