From 3831d758bfedc90e50ded0d50928671d80b4ef27 Mon Sep 17 00:00:00 2001 From: GL Date: Fri, 5 Aug 2016 10:10:05 +0800 Subject: [PATCH] TBD-3909 fix: Impala principal is not contained in the exported context and Impala principal text box can not be edited after exported context. when we click revert button,Impala principal text box should return original value. https://jira.talendforge.org/browse/TBD-3909 --- .../managment/ui/utils/DBConnectionContextUtils.java | 6 ++++++ .../metadata/connection/database/DatabaseForm.java | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/main/plugins/org.talend.metadata.managment.ui/src/main/java/org/talend/metadata/managment/ui/utils/DBConnectionContextUtils.java b/main/plugins/org.talend.metadata.managment.ui/src/main/java/org/talend/metadata/managment/ui/utils/DBConnectionContextUtils.java index e27985e4a9..a347d6df02 100644 --- a/main/plugins/org.talend.metadata.managment.ui/src/main/java/org/talend/metadata/managment/ui/utils/DBConnectionContextUtils.java +++ b/main/plugins/org.talend.metadata.managment.ui/src/main/java/org/talend/metadata/managment/ui/utils/DBConnectionContextUtils.java @@ -1273,6 +1273,12 @@ public final class DBConnectionContextUtils { ContextParameterUtils.getOriginalValue(contextType, maprticket_Duration)); } + // for Impala + if (EDatabaseTypeName.IMPALA.equals(EDatabaseTypeName.getTypeFromDbType(conn.getDatabaseType()))) { + String impalaPrin = conn.getParameters().get(ConnParameterKeys.IMPALA_AUTHENTICATION_PRINCIPLA); + conn.getParameters().put(ConnParameterKeys.IMPALA_AUTHENTICATION_PRINCIPLA, + ContextParameterUtils.getOriginalValue(contextType, impalaPrin)); + } // revert the context value in the hadoop properties dialog if it is hive or hbase String hadoopPropertiesJson = transformContextModeToOriginal(getHiveOrHbaseHadoopProperties(conn), contextType); setAdditionalHadoopProperties(conn, hadoopPropertiesJson); diff --git a/main/plugins/org.talend.repository.metadata/src/main/java/org/talend/repository/ui/wizards/metadata/connection/database/DatabaseForm.java b/main/plugins/org.talend.repository.metadata/src/main/java/org/talend/repository/ui/wizards/metadata/connection/database/DatabaseForm.java index f4a00f1204..86386151c5 100644 --- a/main/plugins/org.talend.repository.metadata/src/main/java/org/talend/repository/ui/wizards/metadata/connection/database/DatabaseForm.java +++ b/main/plugins/org.talend.repository.metadata/src/main/java/org/talend/repository/ui/wizards/metadata/connection/database/DatabaseForm.java @@ -2376,6 +2376,11 @@ public class DatabaseForm extends AbstractForm { } } + private void adaptImpalaHadoopPartEditable() { + useKerberosForImpala.setEnabled(!isContextMode()); + impalaPrincipalTxt.setEditable(!isContextMode()); + } + private void updateHadoopProperties(boolean isEditable) { refreshHadoopProperties(); refreshHiveJdbcProperties(); @@ -5795,6 +5800,10 @@ public class DatabaseForm extends AbstractForm { adaptHbaseHadoopPartEditable(); updateHadoopProperties(!isContextMode()); } + if (isImpalaDBConnSelected()) { + adaptImpalaHadoopPartEditable(); + updateHadoopProperties(!isContextMode()); + } } public boolean isDbTypenull() {