apache / hop

Hop Orchestration Platform
https://hop.apache.org/
Apache License 2.0
968 stars 349 forks source link

[Feature Request]: Re-Implement Mail Validator Transform #4472

Open andreasc-kuehn opened 1 week ago

andreasc-kuehn commented 1 week ago

What would you like to happen?

In Kettle there was a Mail Validator transform ("step") for use in pipelines (not to mix up with the feature with the same name for use in workflows). This allowed for some checking of valid e-mail addresses. Since e-mail address validation seems to be something sophisticated in terms of regex, and as for the not-aware (who is?) the solution situation is somehow intransparent, it might be a good idea to re-implement this feature in a future version.

Issue Priority

Priority: 3

Issue Component

Component: Hop Gui

bamaer commented 1 week ago

this plugin is available here. it hasn't been updated recently, but there haven't been any (known) breaking changes in the 2.x code, so should be ok.

andreasc-kuehn commented 1 week ago

Thank you a lot for providing this feature. I just installed the jar, but did not build it ... I still think, it should be part of the package, probably your code could be a starting point?

When clicking "Edit", this happens in java, I tried 17 & 22 - does it say someting to you? java.lang.NoSuchMethodException: org.apache.hop.pipeline.transforms.mailvalidator.MailValidatorMeta.getDialog(org.eclipse.swt.widgets.Shell,org.apache.hop.core.variables.IVariables,org.apache.hop.pipeline.transform.ITransformMeta,org.apache.hop.pipeline.PipelineMeta,java.lang.String) at java.base/java.lang.Class.getDeclaredMethod(Class.java:2675) at org.apache.hop.ui.hopgui.file.pipeline.delegates.HopGuiPipelineTransformDelegate.getTransformDialog(HopGuiPipelineTransformDelegate.java:153) at org.apache.hop.ui.hopgui.file.pipeline.delegates.HopGuiPipelineTransformDelegate.editTransform(HopGuiPipelineTransformDelegate.java:189) at org.apache.hop.ui.hopgui.file.pipeline.HopGuiPipelineGraph.editTransform(HopGuiPipelineGraph.java:3366) at org.apache.hop.ui.hopgui.file.pipeline.HopGuiPipelineGraph.editTransform(HopGuiPipelineGraph.java:2208) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at org.apache.hop.core.gui.plugin.action.GuiActionLambdaBuilder.lambda$createLambda$0(GuiActionLambdaBuilder.java:97) at org.apache.hop.ui.hopgui.context.GuiContextUtil.lambda$handleActionSelection$0(GuiContextUtil.java:182) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:132) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:5040) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4520) at org.apache.hop.ui.hopgui.HopGui.open(HopGui.java:476) at org.apache.hop.ui.hopgui.HopGui.main(HopGui.java:354)