From 5b3b4ca31c7c4c03db9b2293ae1a51503b58ecb3 Mon Sep 17 00:00:00 2001 From: Nicolas Adment <39568358+nadment@users.noreply.github.com> Date: Wed, 18 Sep 2024 23:35:36 +0200 Subject: [PATCH] DimensionLookup transform fails with hop-run #4328 --- .../dimensionlookup/DimensionLookupMeta.java | 52 +++++++------------ 1 file changed, 20 insertions(+), 32 deletions(-) diff --git a/plugins/transforms/dimensionlookup/src/main/java/org/apache/hop/pipeline/transforms/dimensionlookup/DimensionLookupMeta.java b/plugins/transforms/dimensionlookup/src/main/java/org/apache/hop/pipeline/transforms/dimensionlookup/DimensionLookupMeta.java index e0f2b25e1e..3b5e524429 100644 --- a/plugins/transforms/dimensionlookup/src/main/java/org/apache/hop/pipeline/transforms/dimensionlookup/DimensionLookupMeta.java +++ b/plugins/transforms/dimensionlookup/src/main/java/org/apache/hop/pipeline/transforms/dimensionlookup/DimensionLookupMeta.java @@ -281,44 +281,32 @@ public void getFields( } try { - DatabaseMeta databaseMeta = - metadataProvider.getSerializer(DatabaseMeta.class).load(variables.resolve(connection)); - - try (Database db = new Database(loggingObject, variables, databaseMeta)) { - // Get the rows from the table... - IRowMeta extraFields = db.getTableFieldsMeta(schemaName, tableName); + // Get the rows from the table... + IRowMeta extraFields = getTableFields(variables); - for (DLField field : fields.fields) { - v = extraFields.searchValueMeta(field.getLookup()); - if (v == null) { - String message = - BaseMessages.getString( - PKG, - "DimensionLookupMeta.Exception.UnableToFindReturnField", - field.getLookup()); - logError(message); - throw new HopTransformException(message); - } + for (DLField field : fields.fields) { + v = extraFields.searchValueMeta(field.getLookup()); + if (v == null) { + String message = + BaseMessages.getString( + PKG, "DimensionLookupMeta.Exception.UnableToFindReturnField", field.getLookup()); + logError(message); + throw new HopTransformException(message); + } - // If the field needs to be renamed, rename - if (StringUtils.isNotEmpty(field.getName())) { - v.setName(field.getName()); - } - v.setOrigin(name); - row.addValueMeta(v); + // If the field needs to be renamed, rename + if (StringUtils.isNotEmpty(field.getName())) { + v.setName(field.getName()); } - } catch (Exception e) { - String message = - BaseMessages.getString( - PKG, "DimensionLookupMeta.Exception.UnableToRetrieveDataTypeOfReturnField2"); - logError(message); - throw new HopTransformException(message, e); + v.setOrigin(name); + row.addValueMeta(v); } - } catch (HopException e) { + } catch (Exception e) { String message = - BaseMessages.getString(PKG, "DimensionLookupMeta.Exception.DatabaseErrorOccurred") - + e.getMessage(); + BaseMessages.getString( + PKG, "DimensionLookupMeta.Exception.UnableToRetrieveDataTypeOfReturnField2"); logError(message); + throw new HopTransformException(message, e); } }