This is an automated email from the ASF dual-hosted git repository.
hansva pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/hop.git
The following commit(s) were added to refs/heads/main by this push:
new 96db8d0cfc additional metadata annotation properties #3981 (#4081)
96db8d0cfc is described below
commit 96db8d0cfc545fdf3276c3572da4fb5e2733bc6c
Author: Bart Maertens <[email protected]>
AuthorDate: Fri Jul 5 16:02:08 2024 +0200
additional metadata annotation properties #3981 (#4081)
* initial draft implementation of additional metadata for #3981
* resolved merge conflicts on delete transform. #3981
* additional metadata annotation updates. #3981
* minor changes. #3981
* resolved merge conflicts on delete transform. #3981
* added missing ASF headers. #3981
* additional metadata properties. #3981
---
.../hop/metadata/api/HopMetadataProperty.java | 7 ++++
.../hop/metadata/api/HopMetadataPropertyType.java | 48 ++++++++++++++++++++++
.../org/apache/hop/core/annotations/Action.java | 3 ++
.../hop/core/annotations/ActionTransformType.java | 32 +++++++++++++++
.../org/apache/hop/core/annotations/Transform.java | 3 ++
.../ActionCheckDbConnections.java | 10 ++++-
.../workflow/actions/pipeline/ActionPipeline.java | 5 ++-
.../apache/hop/workflow/actions/sql/ActionSql.java | 13 ++++--
.../bulkloader/RedshiftBulkLoaderField.java | 4 +-
.../bulkloader/RedshiftBulkLoaderMeta.java | 26 +++++++-----
.../cratedbbulkloader/CrateDBBulkLoaderField.java | 4 +-
.../cratedbbulkloader/CrateDBBulkLoaderMeta.java | 14 +++++--
.../transforms/databasejoin/DatabaseJoinMeta.java | 17 ++++++--
.../databaselookup/DatabaseLookupMeta.java | 9 +++-
.../transforms/databaselookup/KeyField.java | 4 +-
.../pipeline/transforms/databaselookup/Lookup.java | 7 +++-
.../pipeline/transforms/delete/DeleteKeyField.java | 4 +-
.../transforms/delete/DeleteLookupField.java | 11 ++++-
.../hop/pipeline/transforms/delete/DeleteMeta.java | 8 +++-
.../transforms/insertupdate/InsertUpdateMeta.java | 8 +++-
.../hop/pipeline/transforms/sql/ExecSqlMeta.java | 13 ++++--
.../transforms/tableinput/TableInputMeta.java | 15 +++++--
.../transforms/tableoutput/TableOutputField.java | 4 +-
.../transforms/tableoutput/TableOutputMeta.java | 20 ++++++---
.../hop/pipeline/transforms/update/UpdateMeta.java | 8 +++-
25 files changed, 244 insertions(+), 53 deletions(-)
diff --git
a/core/src/main/java/org/apache/hop/metadata/api/HopMetadataProperty.java
b/core/src/main/java/org/apache/hop/metadata/api/HopMetadataProperty.java
index b32fee39c6..d110b37a85 100644
--- a/core/src/main/java/org/apache/hop/metadata/api/HopMetadataProperty.java
+++ b/core/src/main/java/org/apache/hop/metadata/api/HopMetadataProperty.java
@@ -144,4 +144,11 @@ public @interface HopMetadataProperty {
*/
Class<? extends IStringObjectConverter> injectionStringObjectConverter()
default
IStringObjectConverter.None.class;
+
+ /**
+ * A HopMetadataPropertyType provides information about the purpose of a
HopMetadataProperty.
+ *
+ * @return the type of metadata this property represents.
+ */
+ HopMetadataPropertyType hopMetadataPropertyType() default
HopMetadataPropertyType.NONE;
}
diff --git
a/core/src/main/java/org/apache/hop/metadata/api/HopMetadataPropertyType.java
b/core/src/main/java/org/apache/hop/metadata/api/HopMetadataPropertyType.java
new file mode 100644
index 0000000000..218f088d1d
--- /dev/null
+++
b/core/src/main/java/org/apache/hop/metadata/api/HopMetadataPropertyType.java
@@ -0,0 +1,48 @@
+/*
+ * 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.hop.metadata.api;
+
+/** A HopMetadataPropertyType provides information about the purpose of a
HopMetadataProperty. */
+public enum HopMetadataPropertyType {
+ NONE,
+ FIELD_LIST,
+ FILE_PATH,
+ FILE_REFERENCE,
+ FILE_NAME,
+ FILE_WILDCARD,
+ FILE_ENCODING,
+ FILE_FIELD,
+ FILE_SEPARATOR,
+ FILE_ENCLOSURE,
+ FILE_EXTENSION,
+ RDBMS_CONNECTION,
+ RDBMS_SCHEMA,
+ RDBMS_TABLE,
+ RDBMS_COLUMN,
+ RDBMS_SQL,
+ RDBMS_TRUNCATE,
+ RDBMS_SQL_SELECT,
+ RDBMS_SQL_INSERT,
+ RDBMS_SQL_UPDATE,
+ RDBMS_SQL_DELETE,
+ RDBMS_SQL_BULK,
+ GRAPH_CONNECTION,
+ GRAPH_QUERY,
+ GRAPH_NODE,
+ GRAPH_RELATIONSHIP
+}
diff --git a/engine/src/main/java/org/apache/hop/core/annotations/Action.java
b/engine/src/main/java/org/apache/hop/core/annotations/Action.java
index 87c7b9f66a..4ba7703151 100644
--- a/engine/src/main/java/org/apache/hop/core/annotations/Action.java
+++ b/engine/src/main/java/org/apache/hop/core/annotations/Action.java
@@ -64,4 +64,7 @@ public @interface Action {
* @return True if the JDBC drivers have to be loaded for this transform
*/
boolean isIncludeJdbcDrivers() default false;
+
+ /** an Array of ActionTransformTypes for this action */
+ ActionTransformType[] actionTransformTypes() default {};
}
diff --git
a/engine/src/main/java/org/apache/hop/core/annotations/ActionTransformType.java
b/engine/src/main/java/org/apache/hop/core/annotations/ActionTransformType.java
new file mode 100644
index 0000000000..dfa3fd4323
--- /dev/null
+++
b/engine/src/main/java/org/apache/hop/core/annotations/ActionTransformType.java
@@ -0,0 +1,32 @@
+/*
+ * 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.hop.core.annotations;
+
+public enum ActionTransformType {
+ ENV_CHECK,
+ INPUT,
+ OUTPUT,
+ JOIN,
+ LOOKUP,
+ DELETE,
+ UPDATE,
+ FILE,
+ RDBMS,
+ GRAPH,
+ NOSQL
+}
diff --git
a/engine/src/main/java/org/apache/hop/core/annotations/Transform.java
b/engine/src/main/java/org/apache/hop/core/annotations/Transform.java
index c0040f74ad..5b8f89470b 100644
--- a/engine/src/main/java/org/apache/hop/core/annotations/Transform.java
+++ b/engine/src/main/java/org/apache/hop/core/annotations/Transform.java
@@ -82,4 +82,7 @@ public @interface Transform {
* @return True if the JDBC drivers have to be loaded for this transform
*/
boolean isIncludeJdbcDrivers() default false;
+
+ /** an Array of ActionTransformTypes for this transform */
+ ActionTransformType[] actionTransformTypes() default {};
}
diff --git
a/plugins/actions/checkdbconnection/src/main/java/org/apache/hop/workflow/actions/checkdbconnection/ActionCheckDbConnections.java
b/plugins/actions/checkdbconnection/src/main/java/org/apache/hop/workflow/actions/checkdbconnection/ActionCheckDbConnections.java
index d8f72a8859..a733167968 100644
---
a/plugins/actions/checkdbconnection/src/main/java/org/apache/hop/workflow/actions/checkdbconnection/ActionCheckDbConnections.java
+++
b/plugins/actions/checkdbconnection/src/main/java/org/apache/hop/workflow/actions/checkdbconnection/ActionCheckDbConnections.java
@@ -23,12 +23,14 @@ import org.apache.hop.core.Const;
import org.apache.hop.core.ICheckResult;
import org.apache.hop.core.Result;
import org.apache.hop.core.annotations.Action;
+import org.apache.hop.core.annotations.ActionTransformType;
import org.apache.hop.core.database.Database;
import org.apache.hop.core.database.DatabaseMeta;
import org.apache.hop.core.exception.HopDatabaseException;
import org.apache.hop.core.variables.IVariables;
import org.apache.hop.i18n.BaseMessages;
import org.apache.hop.metadata.api.HopMetadataProperty;
+import org.apache.hop.metadata.api.HopMetadataPropertyType;
import org.apache.hop.metadata.api.IEnumHasCodeAndDescription;
import org.apache.hop.metadata.api.IHopMetadataProvider;
import org.apache.hop.resource.ResourceEntry;
@@ -48,11 +50,15 @@ import
org.apache.hop.workflow.action.validator.AndValidator;
image = "CheckDbConnection.svg",
categoryDescription =
"i18n:org.apache.hop.workflow:ActionCategory.Category.Conditions",
keywords = "i18n::ActionCheckDbConnections.keyword",
- documentationUrl = "/workflow/actions/checkdbconnection.html")
+ documentationUrl = "/workflow/actions/checkdbconnection.html",
+ actionTransformTypes = {ActionTransformType.ENV_CHECK,
ActionTransformType.RDBMS})
public class ActionCheckDbConnections extends ActionBase implements Cloneable,
IAction {
private static final Class<?> PKG = ActionCheckDbConnections.class; // For
Translator
- @HopMetadataProperty(groupKey = "connections", key = "connection")
+ @HopMetadataProperty(
+ groupKey = "connections",
+ key = "connection",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_CONNECTION)
private List<CDConnection> connections;
public ActionCheckDbConnections(String name) {
diff --git
a/plugins/actions/pipeline/src/main/java/org/apache/hop/workflow/actions/pipeline/ActionPipeline.java
b/plugins/actions/pipeline/src/main/java/org/apache/hop/workflow/actions/pipeline/ActionPipeline.java
index 5d7c0f6c13..08793aa057 100644
---
a/plugins/actions/pipeline/src/main/java/org/apache/hop/workflow/actions/pipeline/ActionPipeline.java
+++
b/plugins/actions/pipeline/src/main/java/org/apache/hop/workflow/actions/pipeline/ActionPipeline.java
@@ -44,6 +44,7 @@ import org.apache.hop.core.variables.IVariables;
import org.apache.hop.core.vfs.HopVfs;
import org.apache.hop.i18n.BaseMessages;
import org.apache.hop.metadata.api.HopMetadataProperty;
+import org.apache.hop.metadata.api.HopMetadataPropertyType;
import org.apache.hop.metadata.api.IHopMetadataProvider;
import org.apache.hop.pipeline.PipelineMeta;
import org.apache.hop.pipeline.TransformWithMappingMeta;
@@ -149,7 +150,9 @@ public class ActionPipeline extends ActionBase implements
Cloneable, IAction {
}
}
- @HopMetadataProperty(key = "filename")
+ @HopMetadataProperty(
+ key = "filename",
+ hopMetadataPropertyType = HopMetadataPropertyType.FILE_REFERENCE)
private String filename;
@HopMetadataProperty(key = "params_from_previous")
diff --git
a/plugins/actions/sql/src/main/java/org/apache/hop/workflow/actions/sql/ActionSql.java
b/plugins/actions/sql/src/main/java/org/apache/hop/workflow/actions/sql/ActionSql.java
index 3f102a0dfa..d4fc2b1006 100644
---
a/plugins/actions/sql/src/main/java/org/apache/hop/workflow/actions/sql/ActionSql.java
+++
b/plugins/actions/sql/src/main/java/org/apache/hop/workflow/actions/sql/ActionSql.java
@@ -27,6 +27,7 @@ import org.apache.hop.core.Const;
import org.apache.hop.core.ICheckResult;
import org.apache.hop.core.Result;
import org.apache.hop.core.annotations.Action;
+import org.apache.hop.core.annotations.ActionTransformType;
import org.apache.hop.core.database.Database;
import org.apache.hop.core.database.DatabaseMeta;
import org.apache.hop.core.exception.HopDatabaseException;
@@ -35,6 +36,7 @@ import org.apache.hop.core.variables.IVariables;
import org.apache.hop.core.vfs.HopVfs;
import org.apache.hop.i18n.BaseMessages;
import org.apache.hop.metadata.api.HopMetadataProperty;
+import org.apache.hop.metadata.api.HopMetadataPropertyType;
import org.apache.hop.metadata.api.IHopMetadataProvider;
import org.apache.hop.resource.ResourceEntry;
import org.apache.hop.resource.ResourceEntry.ResourceType;
@@ -53,14 +55,19 @@ import
org.apache.hop.workflow.action.validator.AndValidator;
image = "sql.svg",
categoryDescription =
"i18n:org.apache.hop.workflow:ActionCategory.Category.Scripting",
keywords = "i18n::ActionSql.keyword",
- documentationUrl = "/workflow/actions/sql.html")
+ documentationUrl = "/workflow/actions/sql.html",
+ actionTransformTypes = {ActionTransformType.RDBMS})
public class ActionSql extends ActionBase implements Cloneable, IAction {
private static final Class<?> PKG = ActionSql.class; // For Translator
- @HopMetadataProperty(key = "sql")
+ @HopMetadataProperty(
+ key = "sql",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_SQL_SELECT)
private String sql;
- @HopMetadataProperty(key = "connection")
+ @HopMetadataProperty(
+ key = "connection",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_CONNECTION)
private String connection;
@HopMetadataProperty(key = "useVariableSubstitution")
diff --git
a/plugins/tech/aws/src/main/java/org/apache/hop/pipeline/transforms/redshift/bulkloader/RedshiftBulkLoaderField.java
b/plugins/tech/aws/src/main/java/org/apache/hop/pipeline/transforms/redshift/bulkloader/RedshiftBulkLoaderField.java
index 36254cb54d..a3559c0aa5 100644
---
a/plugins/tech/aws/src/main/java/org/apache/hop/pipeline/transforms/redshift/bulkloader/RedshiftBulkLoaderField.java
+++
b/plugins/tech/aws/src/main/java/org/apache/hop/pipeline/transforms/redshift/bulkloader/RedshiftBulkLoaderField.java
@@ -19,6 +19,7 @@ package
org.apache.hop.pipeline.transforms.redshift.bulkloader;
import java.util.Objects;
import org.apache.hop.metadata.api.HopMetadataProperty;
+import org.apache.hop.metadata.api.HopMetadataPropertyType;
public class RedshiftBulkLoaderField {
@@ -38,7 +39,8 @@ public class RedshiftBulkLoaderField {
@HopMetadataProperty(
key = "column_name",
injectionKey = "DATABASE_FIELDNAME",
- injectionKeyDescription = "RedshiftBulkLoader.Inject.FIELDDATABASE")
+ injectionKeyDescription = "RedshiftBulkLoader.Inject.FIELDDATABASE",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_COLUMN)
private String databaseField;
public String getStreamField() {
diff --git
a/plugins/tech/aws/src/main/java/org/apache/hop/pipeline/transforms/redshift/bulkloader/RedshiftBulkLoaderMeta.java
b/plugins/tech/aws/src/main/java/org/apache/hop/pipeline/transforms/redshift/bulkloader/RedshiftBulkLoaderMeta.java
index 7ec9438d2f..97aa7978d7 100644
---
a/plugins/tech/aws/src/main/java/org/apache/hop/pipeline/transforms/redshift/bulkloader/RedshiftBulkLoaderMeta.java
+++
b/plugins/tech/aws/src/main/java/org/apache/hop/pipeline/transforms/redshift/bulkloader/RedshiftBulkLoaderMeta.java
@@ -23,6 +23,7 @@ import org.apache.hop.core.CheckResult;
import org.apache.hop.core.Const;
import org.apache.hop.core.ICheckResult;
import org.apache.hop.core.SqlStatement;
+import org.apache.hop.core.annotations.ActionTransformType;
import org.apache.hop.core.annotations.Transform;
import org.apache.hop.core.database.Database;
import org.apache.hop.core.database.DatabaseMeta;
@@ -35,6 +36,7 @@ import org.apache.hop.core.util.StringUtil;
import org.apache.hop.core.variables.IVariables;
import org.apache.hop.i18n.BaseMessages;
import org.apache.hop.metadata.api.HopMetadataProperty;
+import org.apache.hop.metadata.api.HopMetadataPropertyType;
import org.apache.hop.metadata.api.IHopMetadataProvider;
import org.apache.hop.pipeline.DatabaseImpact;
import org.apache.hop.pipeline.PipelineMeta;
@@ -49,7 +51,8 @@ import org.apache.hop.pipeline.transform.TransformMeta;
categoryDescription =
"i18n:org.apache.hop.pipeline.transform:BaseTransform.Category.Bulk",
documentationUrl = "/pipeline/transforms/redshift-bulkloader.html",
isIncludeJdbcDrivers = true,
- classLoaderGroup = "redshift")
+ classLoaderGroup = "redshift",
+ actionTransformTypes = {ActionTransformType.OUTPUT,
ActionTransformType.RDBMS})
public class RedshiftBulkLoaderMeta
extends BaseTransformMeta<RedshiftBulkLoader, RedshiftBulkLoaderData> {
private static final Class<?> PKG = RedshiftBulkLoaderMeta.class;
@@ -62,19 +65,22 @@ public class RedshiftBulkLoaderMeta
@HopMetadataProperty(
key = "connection",
injectionKey = "CONNECTIONNAME",
- injectionKeyDescription = "RedshiftBulkLoader.Injection.CONNECTIONNAME")
+ injectionKeyDescription = "RedshiftBulkLoader.Injection.CONNECTIONNAME",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_CONNECTION)
private String connection;
@HopMetadataProperty(
key = "schema",
injectionKey = "SCHEMANAME",
- injectionKeyDescription = "RedshiftBulkLoader.Injection.SCHEMANAME")
+ injectionKeyDescription = "RedshiftBulkLoader.Injection.SCHEMANAME",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_SCHEMA)
private String schemaName;
@HopMetadataProperty(
key = "table",
injectionKey = "TABLENAME",
- injectionKeyDescription = "RedshiftBulkLoader.Injection.TABLENAME")
+ injectionKeyDescription = "RedshiftBulkLoader.Injection.TABLENAME",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_TABLE)
private String tablename;
@HopMetadataProperty(
@@ -116,7 +122,8 @@ public class RedshiftBulkLoaderMeta
@HopMetadataProperty(
key = "truncate",
injectionKey = "TRUNCATE_TABLE",
- injectionKeyDescription =
"RedshiftBulkLoader.Injection.TruncateTable.Field")
+ injectionKeyDescription =
"RedshiftBulkLoader.Injection.TruncateTable.Field",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_TRUNCATE)
private boolean truncateTable;
@HopMetadataProperty(
@@ -166,21 +173,18 @@ public class RedshiftBulkLoaderMeta
injectionKeyDescription = "")
private String copyFromFilename;
+ /** Fields containing the values in the input stream to insert */
@HopMetadataProperty(
groupKey = "fields",
key = "field",
injectionGroupKey = "FIELDS",
injectionGroupDescription = "RedshiftBulkLoader.Injection.FIELDS",
injectionKey = "FIELDSTREAM",
- injectionKeyDescription = "RedshiftBulkLoader.Injection.FIELDSTREAM")
- /** Fields containing the values in the input stream to insert */
+ injectionKeyDescription = "RedshiftBulkLoader.Injection.FIELDSTREAM",
+ hopMetadataPropertyType = HopMetadataPropertyType.FIELD_LIST)
private List<RedshiftBulkLoaderField> fields;
@HopMetadataProperty(
- groupKey = "fields",
- key = "field",
- injectionGroupKey = "FIELDS",
- injectionGroupDescription = "RedshiftBulkLoader.Injection.FIELDS",
injectionKey = "FIELDDATABASE",
injectionKeyDescription = "RedshiftBulkLoader.Injection.FIELDDATABASE")
/** Fields in the table to insert */
diff --git
a/plugins/transforms/cratedbbulkloader/src/main/java/org/apache/hop/pipeline/transforms/cratedbbulkloader/CrateDBBulkLoaderField.java
b/plugins/transforms/cratedbbulkloader/src/main/java/org/apache/hop/pipeline/transforms/cratedbbulkloader/CrateDBBulkLoaderField.java
index b0e6b3e480..cdbe36d258 100644
---
a/plugins/transforms/cratedbbulkloader/src/main/java/org/apache/hop/pipeline/transforms/cratedbbulkloader/CrateDBBulkLoaderField.java
+++
b/plugins/transforms/cratedbbulkloader/src/main/java/org/apache/hop/pipeline/transforms/cratedbbulkloader/CrateDBBulkLoaderField.java
@@ -19,6 +19,7 @@ package org.apache.hop.pipeline.transforms.cratedbbulkloader;
import java.util.Objects;
import org.apache.hop.metadata.api.HopMetadataProperty;
+import org.apache.hop.metadata.api.HopMetadataPropertyType;
public class CrateDBBulkLoaderField {
@@ -38,7 +39,8 @@ public class CrateDBBulkLoaderField {
@HopMetadataProperty(
key = "column_name",
injectionKey = "DATABASE_FIELDNAME",
- injectionKeyDescription = "CrateDBBulkLoader.Inject.FIELDDATABASE")
+ injectionKeyDescription = "CrateDBBulkLoader.Inject.FIELDDATABASE",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_COLUMN)
private String databaseField;
public String getStreamField() {
diff --git
a/plugins/transforms/cratedbbulkloader/src/main/java/org/apache/hop/pipeline/transforms/cratedbbulkloader/CrateDBBulkLoaderMeta.java
b/plugins/transforms/cratedbbulkloader/src/main/java/org/apache/hop/pipeline/transforms/cratedbbulkloader/CrateDBBulkLoaderMeta.java
index a49913218f..f0987d0528 100644
---
a/plugins/transforms/cratedbbulkloader/src/main/java/org/apache/hop/pipeline/transforms/cratedbbulkloader/CrateDBBulkLoaderMeta.java
+++
b/plugins/transforms/cratedbbulkloader/src/main/java/org/apache/hop/pipeline/transforms/cratedbbulkloader/CrateDBBulkLoaderMeta.java
@@ -25,6 +25,7 @@ import org.apache.hop.core.Const;
import org.apache.hop.core.ICheckResult;
import org.apache.hop.core.IProvidesModelerMeta;
import org.apache.hop.core.SqlStatement;
+import org.apache.hop.core.annotations.ActionTransformType;
import org.apache.hop.core.annotations.Transform;
import org.apache.hop.core.database.Database;
import org.apache.hop.core.database.DatabaseMeta;
@@ -38,6 +39,7 @@ import org.apache.hop.core.util.StringUtil;
import org.apache.hop.core.variables.IVariables;
import org.apache.hop.i18n.BaseMessages;
import org.apache.hop.metadata.api.HopMetadataProperty;
+import org.apache.hop.metadata.api.HopMetadataPropertyType;
import org.apache.hop.metadata.api.IHopMetadataProvider;
import org.apache.hop.pipeline.DatabaseImpact;
import org.apache.hop.pipeline.PipelineMeta;
@@ -53,7 +55,8 @@ import org.apache.hop.pipeline.transform.TransformMeta;
categoryDescription =
"i18n:org.apache.hop.pipeline.transform:BaseTransform.Category.Bulk",
documentationUrl = "/pipeline/transforms/cratedb-bulkloader.html",
isIncludeJdbcDrivers = true,
- classLoaderGroup = "crate-db")
+ classLoaderGroup = "crate-db",
+ actionTransformTypes = {ActionTransformType.RDBMS})
public class CrateDBBulkLoaderMeta
extends BaseTransformMeta<CrateDBBulkLoader, CrateDBBulkLoaderData>
implements IProvidesModelerMeta {
@@ -67,19 +70,22 @@ public class CrateDBBulkLoaderMeta
@HopMetadataProperty(
key = "connection",
injectionKey = "CONNECTIONNAME",
- injectionKeyDescription = "CrateDBBulkLoader.Injection.CONNECTIONNAME")
+ injectionKeyDescription = "CrateDBBulkLoader.Injection.CONNECTIONNAME",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_CONNECTION)
private String connection;
@HopMetadataProperty(
key = "schema",
injectionKey = "SCHEMANAME",
- injectionKeyDescription = "CrateDBBulkLoader.Injection.SCHEMANAME")
+ injectionKeyDescription = "CrateDBBulkLoader.Injection.SCHEMANAME",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_SCHEMA)
private String schemaName;
@HopMetadataProperty(
key = "table",
injectionKey = "TABLENAME",
- injectionKeyDescription = "CrateDBBulkLoader.Injection.TABLENAME")
+ injectionKeyDescription = "CrateDBBulkLoader.Injection.TABLENAME",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_TABLE)
private String tablename;
@HopMetadataProperty(
diff --git
a/plugins/transforms/databasejoin/src/main/java/org/apache/hop/pipeline/transforms/databasejoin/DatabaseJoinMeta.java
b/plugins/transforms/databasejoin/src/main/java/org/apache/hop/pipeline/transforms/databasejoin/DatabaseJoinMeta.java
index e3312f8d98..df8478d889 100644
---
a/plugins/transforms/databasejoin/src/main/java/org/apache/hop/pipeline/transforms/databasejoin/DatabaseJoinMeta.java
+++
b/plugins/transforms/databasejoin/src/main/java/org/apache/hop/pipeline/transforms/databasejoin/DatabaseJoinMeta.java
@@ -22,6 +22,7 @@ import java.util.List;
import org.apache.hop.core.CheckResult;
import org.apache.hop.core.Const;
import org.apache.hop.core.ICheckResult;
+import org.apache.hop.core.annotations.ActionTransformType;
import org.apache.hop.core.annotations.Transform;
import org.apache.hop.core.database.Database;
import org.apache.hop.core.database.DatabaseMeta;
@@ -37,6 +38,7 @@ import org.apache.hop.core.row.value.ValueMetaNone;
import org.apache.hop.core.variables.IVariables;
import org.apache.hop.i18n.BaseMessages;
import org.apache.hop.metadata.api.HopMetadataProperty;
+import org.apache.hop.metadata.api.HopMetadataPropertyType;
import org.apache.hop.metadata.api.IHopMetadataProvider;
import org.apache.hop.pipeline.DatabaseImpact;
import org.apache.hop.pipeline.PipelineMeta;
@@ -50,14 +52,20 @@ import org.apache.hop.pipeline.transform.TransformMeta;
description = "i18n::DatabaseJoin.Description",
categoryDescription =
"i18n:org.apache.hop.pipeline.transform:BaseTransform.Category.Lookup",
keywords = "i18n::DatabaseJoinMeta.keyword",
- documentationUrl = "/pipeline/transforms/databasejoin.html")
+ documentationUrl = "/pipeline/transforms/databasejoin.html",
+ actionTransformTypes = {
+ ActionTransformType.RDBMS,
+ ActionTransformType.LOOKUP,
+ ActionTransformType.JOIN
+ })
public class DatabaseJoinMeta extends BaseTransformMeta<DatabaseJoin,
DatabaseJoinData> {
private static final Class<?> PKG = DatabaseJoinMeta.class; // For Translator
@HopMetadataProperty(
key = "connection",
- injectionKeyDescription = "DatabaseJoinMeta.Injection.Connection")
+ injectionKeyDescription = "DatabaseJoinMeta.Injection.Connection",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_CONNECTION)
private String connection;
@HopMetadataProperty(key = "cache", injectionKeyDescription =
"DatabaseJoinMeta.Injection.Cache")
@@ -70,7 +78,10 @@ public class DatabaseJoinMeta extends
BaseTransformMeta<DatabaseJoin, DatabaseJo
private int cacheSize;
/** SQL Statement */
- @HopMetadataProperty(key = "sql", injectionKeyDescription =
"DatabaseJoinMeta.Injection.SQL")
+ @HopMetadataProperty(
+ key = "sql",
+ injectionKeyDescription = "DatabaseJoinMeta.Injection.SQL",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_SQL)
private String sql;
/** Number of rows to return (0=ALL) */
diff --git
a/plugins/transforms/databaselookup/src/main/java/org/apache/hop/pipeline/transforms/databaselookup/DatabaseLookupMeta.java
b/plugins/transforms/databaselookup/src/main/java/org/apache/hop/pipeline/transforms/databaselookup/DatabaseLookupMeta.java
index ed4424f3ba..5821fc559a 100644
---
a/plugins/transforms/databaselookup/src/main/java/org/apache/hop/pipeline/transforms/databaselookup/DatabaseLookupMeta.java
+++
b/plugins/transforms/databaselookup/src/main/java/org/apache/hop/pipeline/transforms/databaselookup/DatabaseLookupMeta.java
@@ -21,6 +21,7 @@ import java.util.List;
import org.apache.hop.core.CheckResult;
import org.apache.hop.core.Const;
import org.apache.hop.core.ICheckResult;
+import org.apache.hop.core.annotations.ActionTransformType;
import org.apache.hop.core.annotations.Transform;
import org.apache.hop.core.database.Database;
import org.apache.hop.core.database.DatabaseMeta;
@@ -34,6 +35,7 @@ import org.apache.hop.core.util.Utils;
import org.apache.hop.core.variables.IVariables;
import org.apache.hop.i18n.BaseMessages;
import org.apache.hop.metadata.api.HopMetadataProperty;
+import org.apache.hop.metadata.api.HopMetadataPropertyType;
import org.apache.hop.metadata.api.IHopMetadataProvider;
import org.apache.hop.pipeline.DatabaseImpact;
import org.apache.hop.pipeline.PipelineMeta;
@@ -47,7 +49,8 @@ import org.apache.hop.pipeline.transform.TransformMeta;
description = "i18n::DatabaseLookup.Description",
categoryDescription =
"i18n:org.apache.hop.pipeline.transform:BaseTransform.Category.Lookup",
keywords = "i18n::DatabaseLookupMeta.keyword",
- documentationUrl = "/pipeline/transforms/databaselookup.html")
+ documentationUrl = "/pipeline/transforms/databaselookup.html",
+ actionTransformTypes = {ActionTransformType.LOOKUP,
ActionTransformType.RDBMS})
public class DatabaseLookupMeta extends BaseTransformMeta<DatabaseLookup,
DatabaseLookupData> {
private static final Class<?> PKG = DatabaseLookupMeta.class; // For
Translator
@@ -69,7 +72,9 @@ public class DatabaseLookupMeta extends
BaseTransformMeta<DatabaseLookup, Databa
public static final int CONDITION_IS_NOT_NULL = 9;
/** database connection */
- @HopMetadataProperty(injectionKeyDescription =
"DatabaseLookupMeta.Injection.Connection")
+ @HopMetadataProperty(
+ injectionKeyDescription = "DatabaseLookupMeta.Injection.Connection",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_CONNECTION)
private String connection;
/** ICache values we look up --> faster */
diff --git
a/plugins/transforms/databaselookup/src/main/java/org/apache/hop/pipeline/transforms/databaselookup/KeyField.java
b/plugins/transforms/databaselookup/src/main/java/org/apache/hop/pipeline/transforms/databaselookup/KeyField.java
index 956ee8249a..6db01efeba 100644
---
a/plugins/transforms/databaselookup/src/main/java/org/apache/hop/pipeline/transforms/databaselookup/KeyField.java
+++
b/plugins/transforms/databaselookup/src/main/java/org/apache/hop/pipeline/transforms/databaselookup/KeyField.java
@@ -18,6 +18,7 @@
package org.apache.hop.pipeline.transforms.databaselookup;
import org.apache.hop.metadata.api.HopMetadataProperty;
+import org.apache.hop.metadata.api.HopMetadataPropertyType;
public class KeyField {
@HopMetadataProperty(
@@ -41,7 +42,8 @@ public class KeyField {
@HopMetadataProperty(
key = "field",
injectionKey = "key_table_field",
- injectionKeyDescription = "DatabaseLookupMeta.Injection.KeyTableField")
+ injectionKeyDescription = "DatabaseLookupMeta.Injection.KeyTableField",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_COLUMN)
private String tableField;
public KeyField() {}
diff --git
a/plugins/transforms/databaselookup/src/main/java/org/apache/hop/pipeline/transforms/databaselookup/Lookup.java
b/plugins/transforms/databaselookup/src/main/java/org/apache/hop/pipeline/transforms/databaselookup/Lookup.java
index 4fc22e91ac..066232a940 100644
---
a/plugins/transforms/databaselookup/src/main/java/org/apache/hop/pipeline/transforms/databaselookup/Lookup.java
+++
b/plugins/transforms/databaselookup/src/main/java/org/apache/hop/pipeline/transforms/databaselookup/Lookup.java
@@ -20,18 +20,21 @@ package org.apache.hop.pipeline.transforms.databaselookup;
import java.util.ArrayList;
import java.util.List;
import org.apache.hop.metadata.api.HopMetadataProperty;
+import org.apache.hop.metadata.api.HopMetadataPropertyType;
public class Lookup {
/** what's the lookup schema name? */
@HopMetadataProperty(
key = "schema",
- injectionKeyDescription = "DatabaseLookupMeta.Injection.SchemaName")
+ injectionKeyDescription = "DatabaseLookupMeta.Injection.SchemaName",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_SCHEMA)
private String schemaName;
/** what's the lookup table? */
@HopMetadataProperty(
key = "table",
- injectionKeyDescription = "DatabaseLookupMeta.Injection.TableName")
+ injectionKeyDescription = "DatabaseLookupMeta.Injection.TableName",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_TABLE)
private String tableName;
@HopMetadataProperty(
diff --git
a/plugins/transforms/delete/src/main/java/org/apache/hop/pipeline/transforms/delete/DeleteKeyField.java
b/plugins/transforms/delete/src/main/java/org/apache/hop/pipeline/transforms/delete/DeleteKeyField.java
index 541928d6db..ef6afd302b 100644
---
a/plugins/transforms/delete/src/main/java/org/apache/hop/pipeline/transforms/delete/DeleteKeyField.java
+++
b/plugins/transforms/delete/src/main/java/org/apache/hop/pipeline/transforms/delete/DeleteKeyField.java
@@ -19,6 +19,7 @@ package org.apache.hop.pipeline.transforms.delete;
import java.util.Objects;
import org.apache.hop.metadata.api.HopMetadataProperty;
+import org.apache.hop.metadata.api.HopMetadataPropertyType;
public class DeleteKeyField {
@@ -31,7 +32,8 @@ public class DeleteKeyField {
/** field in table */
@HopMetadataProperty(
key = "field",
- injectionKeyDescription = "DeleteMeta.Injection.Field.KeyLookup")
+ injectionKeyDescription = "DeleteMeta.Injection.Field.KeyLookup",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_COLUMN)
private String keyLookup;
/** Comparator: =, <>, BETWEEN, ... */
diff --git
a/plugins/transforms/delete/src/main/java/org/apache/hop/pipeline/transforms/delete/DeleteLookupField.java
b/plugins/transforms/delete/src/main/java/org/apache/hop/pipeline/transforms/delete/DeleteLookupField.java
index be116a784e..52db89b145 100644
---
a/plugins/transforms/delete/src/main/java/org/apache/hop/pipeline/transforms/delete/DeleteLookupField.java
+++
b/plugins/transforms/delete/src/main/java/org/apache/hop/pipeline/transforms/delete/DeleteLookupField.java
@@ -21,6 +21,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import org.apache.hop.metadata.api.HopMetadataProperty;
+import org.apache.hop.metadata.api.HopMetadataPropertyType;
public class DeleteLookupField {
@@ -31,11 +32,17 @@ public class DeleteLookupField {
private List<DeleteKeyField> fields;
/** The lookup schema name */
- @HopMetadataProperty(key = "schema", injectionKeyDescription =
"DeleteMeta.Injection.SchemaName")
+ @HopMetadataProperty(
+ key = "schema",
+ injectionKeyDescription = "DeleteMeta.Injection.SchemaName",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_SCHEMA)
private String schemaName;
/** The lookup table name */
- @HopMetadataProperty(key = "table", injectionKeyDescription =
"DeleteMeta.Injection.TableName")
+ @HopMetadataProperty(
+ key = "table",
+ injectionKeyDescription = "DeleteMeta.Injection.TableName",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_TABLE)
private String tableName;
public DeleteLookupField() {
diff --git
a/plugins/transforms/delete/src/main/java/org/apache/hop/pipeline/transforms/delete/DeleteMeta.java
b/plugins/transforms/delete/src/main/java/org/apache/hop/pipeline/transforms/delete/DeleteMeta.java
index ee6f200020..d7e1181df5 100644
---
a/plugins/transforms/delete/src/main/java/org/apache/hop/pipeline/transforms/delete/DeleteMeta.java
+++
b/plugins/transforms/delete/src/main/java/org/apache/hop/pipeline/transforms/delete/DeleteMeta.java
@@ -23,6 +23,7 @@ import org.apache.hop.core.CheckResult;
import org.apache.hop.core.Const;
import org.apache.hop.core.ICheckResult;
import org.apache.hop.core.SqlStatement;
+import org.apache.hop.core.annotations.ActionTransformType;
import org.apache.hop.core.annotations.Transform;
import org.apache.hop.core.database.Database;
import org.apache.hop.core.database.DatabaseMeta;
@@ -34,6 +35,7 @@ import org.apache.hop.core.util.Utils;
import org.apache.hop.core.variables.IVariables;
import org.apache.hop.i18n.BaseMessages;
import org.apache.hop.metadata.api.HopMetadataProperty;
+import org.apache.hop.metadata.api.HopMetadataPropertyType;
import org.apache.hop.metadata.api.IHopMetadataProvider;
import org.apache.hop.pipeline.DatabaseImpact;
import org.apache.hop.pipeline.PipelineMeta;
@@ -51,7 +53,8 @@ import org.apache.hop.pipeline.transform.TransformMeta;
description = "i18n::Delete.Description",
categoryDescription =
"i18n:org.apache.hop.pipeline.transform:BaseTransform.Category.Output",
keywords = "i18n::DeleteMeta.Keyword",
- documentationUrl = "/pipeline/transforms/delete.html")
+ documentationUrl = "/pipeline/transforms/delete.html",
+ actionTransformTypes = {ActionTransformType.DELETE,
ActionTransformType.RDBMS})
public class DeleteMeta extends BaseTransformMeta<Delete, DeleteData> {
private static final Class<?> PKG = DeleteMeta.class; // For Translator
@@ -62,7 +65,8 @@ public class DeleteMeta extends BaseTransformMeta<Delete,
DeleteData> {
/** database connection */
@HopMetadataProperty(
key = "connection",
- injectionKeyDescription = "DeleteMeta.Injection.Connection")
+ injectionKeyDescription = "DeleteMeta.Injection.Connection",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_CONNECTION)
private String connection;
/** Commit size for inserts/updates */
diff --git
a/plugins/transforms/insertupdate/src/main/java/org/apache/hop/pipeline/transforms/insertupdate/InsertUpdateMeta.java
b/plugins/transforms/insertupdate/src/main/java/org/apache/hop/pipeline/transforms/insertupdate/InsertUpdateMeta.java
index 4cd4c2bbc7..961fc0fb79 100644
---
a/plugins/transforms/insertupdate/src/main/java/org/apache/hop/pipeline/transforms/insertupdate/InsertUpdateMeta.java
+++
b/plugins/transforms/insertupdate/src/main/java/org/apache/hop/pipeline/transforms/insertupdate/InsertUpdateMeta.java
@@ -23,6 +23,7 @@ import org.apache.hop.core.CheckResult;
import org.apache.hop.core.Const;
import org.apache.hop.core.ICheckResult;
import org.apache.hop.core.SqlStatement;
+import org.apache.hop.core.annotations.ActionTransformType;
import org.apache.hop.core.annotations.Transform;
import org.apache.hop.core.database.Database;
import org.apache.hop.core.database.DatabaseMeta;
@@ -34,6 +35,7 @@ import org.apache.hop.core.util.Utils;
import org.apache.hop.core.variables.IVariables;
import org.apache.hop.i18n.BaseMessages;
import org.apache.hop.metadata.api.HopMetadataProperty;
+import org.apache.hop.metadata.api.HopMetadataPropertyType;
import org.apache.hop.metadata.api.IHopMetadataProvider;
import org.apache.hop.pipeline.DatabaseImpact;
import org.apache.hop.pipeline.PipelineMeta;
@@ -48,7 +50,8 @@ import org.apache.hop.pipeline.transform.utils.RowMetaUtils;
description = "i18n::InsertUpdate.Description",
categoryDescription =
"i18n:org.apache.hop.pipeline.transform:BaseTransform.Category.Output",
keywords = "i18n::InsertUpdateMeta.keyword",
- documentationUrl = "/pipeline/transforms/insertupdate.html")
+ documentationUrl = "/pipeline/transforms/insertupdate.html",
+ actionTransformTypes = {ActionTransformType.OUTPUT,
ActionTransformType.RDBMS})
public class InsertUpdateMeta extends BaseTransformMeta<InsertUpdate,
InsertUpdateData> {
private static final Class<?> PKG = InsertUpdateMeta.class; // For Translator
@@ -79,7 +82,8 @@ public class InsertUpdateMeta extends
BaseTransformMeta<InsertUpdate, InsertUpda
@HopMetadataProperty(
key = "connection",
injectionKeyDescription = "InsertUpdateMeta.Injection.CONNECTIONNAME",
- injectionKey = "CONNECTIONNAME")
+ injectionKey = "CONNECTIONNAME",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_CONNECTION)
private String connection;
public String getConnection() {
diff --git
a/plugins/transforms/sql/src/main/java/org/apache/hop/pipeline/transforms/sql/ExecSqlMeta.java
b/plugins/transforms/sql/src/main/java/org/apache/hop/pipeline/transforms/sql/ExecSqlMeta.java
index e04c3f9508..ef57fe89db 100644
---
a/plugins/transforms/sql/src/main/java/org/apache/hop/pipeline/transforms/sql/ExecSqlMeta.java
+++
b/plugins/transforms/sql/src/main/java/org/apache/hop/pipeline/transforms/sql/ExecSqlMeta.java
@@ -24,6 +24,7 @@ import org.apache.hop.core.Const;
import org.apache.hop.core.ICheckResult;
import org.apache.hop.core.Result;
import org.apache.hop.core.RowMetaAndData;
+import org.apache.hop.core.annotations.ActionTransformType;
import org.apache.hop.core.annotations.Transform;
import org.apache.hop.core.database.Database;
import org.apache.hop.core.database.DatabaseMeta;
@@ -33,6 +34,7 @@ import org.apache.hop.core.row.IRowMeta;
import org.apache.hop.core.variables.IVariables;
import org.apache.hop.i18n.BaseMessages;
import org.apache.hop.metadata.api.HopMetadataProperty;
+import org.apache.hop.metadata.api.HopMetadataPropertyType;
import org.apache.hop.metadata.api.IHopMetadataProvider;
import org.apache.hop.pipeline.DatabaseImpact;
import org.apache.hop.pipeline.PipelineMeta;
@@ -50,16 +52,21 @@ import org.apache.hop.pipeline.transform.TransformMeta;
description = "i18n::ExecSql.Description",
categoryDescription =
"i18n:org.apache.hop.pipeline.transform:BaseTransform.Category.Scripting",
keywords = "i18n::ExecSqlMeta.keyword",
- documentationUrl = "/pipeline/transforms/execsql.html")
+ documentationUrl = "/pipeline/transforms/execsql.html",
+ actionTransformTypes = {ActionTransformType.RDBMS})
public class ExecSqlMeta extends BaseTransformMeta<ExecSql, ExecSqlData> {
private static final Class<?> PKG = ExecSqlMeta.class; // For Translator
@HopMetadataProperty(
key = "connection",
- injectionKeyDescription = "ExecSqlMeta.Injection.CONNECTIONNAME")
+ injectionKeyDescription = "ExecSqlMeta.Injection.CONNECTIONNAME",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_CONNECTION)
private String connection;
- @HopMetadataProperty(injectionKeyDescription = "ExecSqlMeta.Injection.SQL",
injectionKey = "SQL")
+ @HopMetadataProperty(
+ injectionKeyDescription = "ExecSqlMeta.Injection.SQL",
+ injectionKey = "SQL",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_SQL)
private String sql;
@HopMetadataProperty(
diff --git
a/plugins/transforms/tableinput/src/main/java/org/apache/hop/pipeline/transforms/tableinput/TableInputMeta.java
b/plugins/transforms/tableinput/src/main/java/org/apache/hop/pipeline/transforms/tableinput/TableInputMeta.java
index ce56373e0b..14ede651b3 100644
---
a/plugins/transforms/tableinput/src/main/java/org/apache/hop/pipeline/transforms/tableinput/TableInputMeta.java
+++
b/plugins/transforms/tableinput/src/main/java/org/apache/hop/pipeline/transforms/tableinput/TableInputMeta.java
@@ -21,6 +21,7 @@ import java.util.List;
import org.apache.hop.core.CheckResult;
import org.apache.hop.core.Const;
import org.apache.hop.core.ICheckResult;
+import org.apache.hop.core.annotations.ActionTransformType;
import org.apache.hop.core.annotations.Transform;
import org.apache.hop.core.database.Database;
import org.apache.hop.core.database.DatabaseMeta;
@@ -36,6 +37,7 @@ import org.apache.hop.core.util.Utils;
import org.apache.hop.core.variables.IVariables;
import org.apache.hop.i18n.BaseMessages;
import org.apache.hop.metadata.api.HopMetadataProperty;
+import org.apache.hop.metadata.api.HopMetadataPropertyType;
import org.apache.hop.metadata.api.IHopMetadataProvider;
import org.apache.hop.pipeline.DatabaseImpact;
import org.apache.hop.pipeline.PipelineMeta;
@@ -56,12 +58,16 @@ import org.w3c.dom.Node;
description = "i18n::TableInput.Description",
categoryDescription =
"i18n:org.apache.hop.pipeline.transform:BaseTransform.Category.Input",
documentationUrl = "/pipeline/transforms/tableinput.html",
- keywords = "i18n::TableInputMeta.keyword")
+ keywords = "i18n::TableInputMeta.keyword",
+ actionTransformTypes = {ActionTransformType.INPUT,
ActionTransformType.RDBMS})
public class TableInputMeta extends BaseTransformMeta<TableInput,
TableInputData> {
private static final Class<?> PKG = TableInputMeta.class; // For Translator
- @HopMetadataProperty(key = "sql", injectionKey = "SQL")
+ @HopMetadataProperty(
+ key = "sql",
+ injectionKey = "SQL",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_SQL_SELECT)
private String sql;
@HopMetadataProperty(key = "limit", injectionKey = "LIMIT")
@@ -74,7 +80,10 @@ public class TableInputMeta extends
BaseTransformMeta<TableInput, TableInputData
@HopMetadataProperty(key = "variables_active", injectionKey =
"REPLACE_VARIABLES")
private boolean variableReplacementActive;
- @HopMetadataProperty(key = "connection", injectionKey = "CONNECTIONNAME")
+ @HopMetadataProperty(
+ key = "connection",
+ injectionKey = "CONNECTIONNAME",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_CONNECTION)
private String connection;
@HopMetadataProperty private String lookup;
diff --git
a/plugins/transforms/tableoutput/src/main/java/org/apache/hop/pipeline/transforms/tableoutput/TableOutputField.java
b/plugins/transforms/tableoutput/src/main/java/org/apache/hop/pipeline/transforms/tableoutput/TableOutputField.java
index 0d93a74740..5c89c3d301 100644
---
a/plugins/transforms/tableoutput/src/main/java/org/apache/hop/pipeline/transforms/tableoutput/TableOutputField.java
+++
b/plugins/transforms/tableoutput/src/main/java/org/apache/hop/pipeline/transforms/tableoutput/TableOutputField.java
@@ -19,6 +19,7 @@ package org.apache.hop.pipeline.transforms.tableoutput;
import java.util.Objects;
import org.apache.hop.metadata.api.HopMetadataProperty;
+import org.apache.hop.metadata.api.HopMetadataPropertyType;
public class TableOutputField {
@@ -45,7 +46,8 @@ public class TableOutputField {
@HopMetadataProperty(
key = "column_name",
injectionKey = "DATABASE_FIELDNAME",
- injectionKeyDescription =
"TableOutputMeta.Injection.FieldDatabase.Field")
+ injectionKeyDescription =
"TableOutputMeta.Injection.FieldDatabase.Field",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_COLUMN)
private String fieldDatabase;
/**
diff --git
a/plugins/transforms/tableoutput/src/main/java/org/apache/hop/pipeline/transforms/tableoutput/TableOutputMeta.java
b/plugins/transforms/tableoutput/src/main/java/org/apache/hop/pipeline/transforms/tableoutput/TableOutputMeta.java
index 41eb5cdb1a..2f41bfeeff 100644
---
a/plugins/transforms/tableoutput/src/main/java/org/apache/hop/pipeline/transforms/tableoutput/TableOutputMeta.java
+++
b/plugins/transforms/tableoutput/src/main/java/org/apache/hop/pipeline/transforms/tableoutput/TableOutputMeta.java
@@ -23,6 +23,7 @@ import org.apache.hop.core.CheckResult;
import org.apache.hop.core.Const;
import org.apache.hop.core.ICheckResult;
import org.apache.hop.core.SqlStatement;
+import org.apache.hop.core.annotations.ActionTransformType;
import org.apache.hop.core.annotations.Transform;
import org.apache.hop.core.database.Database;
import org.apache.hop.core.database.DatabaseMeta;
@@ -36,6 +37,7 @@ import org.apache.hop.core.util.Utils;
import org.apache.hop.core.variables.IVariables;
import org.apache.hop.i18n.BaseMessages;
import org.apache.hop.metadata.api.HopMetadataProperty;
+import org.apache.hop.metadata.api.HopMetadataPropertyType;
import org.apache.hop.metadata.api.IHopMetadataProvider;
import org.apache.hop.pipeline.DatabaseImpact;
import org.apache.hop.pipeline.PipelineMeta;
@@ -49,7 +51,8 @@ import org.apache.hop.pipeline.transform.TransformMeta;
description = "i18n::TableOutput.Description",
categoryDescription =
"i18n:org.apache.hop.pipeline.transform:BaseTransform.Category.Output",
keywords = "i18n::TableOutputMeta.keyword",
- documentationUrl = "/pipeline/transforms/tableoutput.html")
+ documentationUrl = "/pipeline/transforms/tableoutput.html",
+ actionTransformTypes = {ActionTransformType.OUTPUT,
ActionTransformType.RDBMS})
public class TableOutputMeta extends BaseTransformMeta<TableOutput,
TableOutputData> {
private static final Class<?> PKG = TableOutputMeta.class; // For Translator
@@ -58,19 +61,22 @@ public class TableOutputMeta extends
BaseTransformMeta<TableOutput, TableOutputD
@HopMetadataProperty(
key = "connection",
- injectionKeyDescription = "TableOutputMeta.Injection.Connection")
+ injectionKeyDescription = "TableOutputMeta.Injection.Connection",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_CONNECTION)
private String connection;
@HopMetadataProperty(
key = "schema",
injectionKey = "TARGET_SCHEMA",
- injectionKeyDescription = "TableOutputMeta.Injection.SchemaName.Field")
+ injectionKeyDescription = "TableOutputMeta.Injection.SchemaName.Field",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_SCHEMA)
private String schemaName;
@HopMetadataProperty(
key = "table",
injectionKey = "TARGET_TABLE",
- injectionKeyDescription = "TableOutputMeta.Injection.TableName.Field")
+ injectionKeyDescription = "TableOutputMeta.Injection.TableName.Field",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_TABLE)
private String tableName;
@HopMetadataProperty(
@@ -82,7 +88,8 @@ public class TableOutputMeta extends
BaseTransformMeta<TableOutput, TableOutputD
@HopMetadataProperty(
key = "truncate",
injectionKey = "TRUNCATE_TABLE",
- injectionKeyDescription =
"TableOutputMeta.Injection.TruncateTable.Field")
+ injectionKeyDescription =
"TableOutputMeta.Injection.TruncateTable.Field",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_TRUNCATE)
private boolean truncateTable;
@HopMetadataProperty(
@@ -170,7 +177,8 @@ public class TableOutputMeta extends
BaseTransformMeta<TableOutput, TableOutputD
injectionKey = "DATABASE_FIELD",
injectionGroupKey = "DATABASE_FIELDS",
injectionGroupDescription = "TableOutputMeta.Injection.Fields",
- injectionKeyDescription = "TableOutputMeta.Injection.Field")
+ injectionKeyDescription = "TableOutputMeta.Injection.Field",
+ hopMetadataPropertyType = HopMetadataPropertyType.FIELD_LIST)
private List<TableOutputField> fields;
public List<TableOutputField> getFields() {
diff --git
a/plugins/transforms/update/src/main/java/org/apache/hop/pipeline/transforms/update/UpdateMeta.java
b/plugins/transforms/update/src/main/java/org/apache/hop/pipeline/transforms/update/UpdateMeta.java
index d1b9c17e75..14e0b3810d 100644
---
a/plugins/transforms/update/src/main/java/org/apache/hop/pipeline/transforms/update/UpdateMeta.java
+++
b/plugins/transforms/update/src/main/java/org/apache/hop/pipeline/transforms/update/UpdateMeta.java
@@ -22,6 +22,7 @@ import org.apache.hop.core.CheckResult;
import org.apache.hop.core.Const;
import org.apache.hop.core.ICheckResult;
import org.apache.hop.core.SqlStatement;
+import org.apache.hop.core.annotations.ActionTransformType;
import org.apache.hop.core.annotations.Transform;
import org.apache.hop.core.database.Database;
import org.apache.hop.core.database.DatabaseMeta;
@@ -35,6 +36,7 @@ import org.apache.hop.core.util.Utils;
import org.apache.hop.core.variables.IVariables;
import org.apache.hop.i18n.BaseMessages;
import org.apache.hop.metadata.api.HopMetadataProperty;
+import org.apache.hop.metadata.api.HopMetadataPropertyType;
import org.apache.hop.metadata.api.IHopMetadataProvider;
import org.apache.hop.pipeline.DatabaseImpact;
import org.apache.hop.pipeline.PipelineMeta;
@@ -49,7 +51,8 @@ import org.apache.hop.pipeline.transform.utils.RowMetaUtils;
description = "i18n::Update.Description",
categoryDescription =
"i18n:org.apache.hop.pipeline.transform:BaseTransform.Category.Output",
keywords = "i18n::UpdateMeta.keyword",
- documentationUrl = "/pipeline/transforms/update.html")
+ documentationUrl = "/pipeline/transforms/update.html",
+ actionTransformTypes = {ActionTransformType.RDBMS,
ActionTransformType.OUTPUT})
public class UpdateMeta extends BaseTransformMeta<Update, UpdateData> {
private static final Class<?> PKG = UpdateMeta.class; // For Translator
@@ -101,7 +104,8 @@ public class UpdateMeta extends BaseTransformMeta<Update,
UpdateData> {
@HopMetadataProperty(
key = "connection",
injectionKeyDescription = "UpdateMeta.Injection.Connection",
- injectionKey = "CONNECTIONNAME")
+ injectionKey = "CONNECTIONNAME",
+ hopMetadataPropertyType = HopMetadataPropertyType.RDBMS_CONNECTION)
private String connection;
public String getConnection() {