This is an automated email from the ASF dual-hosted git repository. mcasters pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-hop-docs.git
commit e7adf96a5033c2f97789413148210a7c5c1bd2e6 Author: Matt Casters <[email protected]> AuthorDate: Thu Nov 12 21:05:32 2020 +0100 Clarifying the MetaStore to HopMetadata changes --- .../modules/ROOT/pages/porting-kettle-plugins.adoc | 24 ++++++++++++---------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/hop-dev-manual/modules/ROOT/pages/porting-kettle-plugins.adoc b/hop-dev-manual/modules/ROOT/pages/porting-kettle-plugins.adoc index 57507dd..b4f6e35 100644 --- a/hop-dev-manual/modules/ROOT/pages/porting-kettle-plugins.adoc +++ b/hop-dev-manual/modules/ROOT/pages/porting-kettle-plugins.adoc @@ -48,23 +48,25 @@ ITransform no longer expects you to pass ITransformMeta and ITransformData class This greatly simplifies the code. Your need to let Hop know what the relationship is between your implementation of ITransform, ITransformMeta, ITransformData, for example: -``` +[source] +---- public class Sample extends BaseTransform<SampleMeta, SampleData> implements ITransform<SampleMeta, SampleData> { ... } -``` +---- The same is true for your implementation of ITransformMeta: -``` +[source] +---- public class SampleMeta extends BaseTransformMeta implements ITransformMeta<Sample, SampleData> { ... } -``` +---- == Repository @@ -78,15 +80,15 @@ These objects are no longer stored in a Pipeline or a Workflow, they are now ful - List<SlaveServer> slaveServers -== MetaStore +== MetaStore -> HopMetadata -MetaStore elements can now be managed in a standard way. In your transform dialogs you can use the widget: - -*MetaSelectionLine<IHopMetaStoreElement>* +The MetaStore code is unfortunately LGPL licensed and for that reason removed from the project. It was replaced by the general ```IHopMetadataProvider``` instead of the ```IMetaStore``` references. +At any given time you can ask the current ```*IHopMetadataProvider*``` to give you a serializer for a metadata class. This ```*IHopMetadataSerializer*``` can then be used to CRUD objects as well as list and so on. -This will take care of adding label, tooltip, combo box and a few buttons to manage the metastore elements. +For more information on how to implement Hop Metadata plugins, see: Metadata Plugins. -If you want your own MetaStore element types to appear in the Hop GUI when creating, editing or deleting elements, create a new class implementing *IGuiMetaStorePlugin<IHopMetaStoreElement>*. -Provide this class with a *@GuiPlugin* annotation as well as *@GuiMetaStoreElement*. +MetaStore elements can now be managed in a standard way. In your transform dialogs you can use the widget: +*MetaSelectionLine<T extends IHopMetadata>* +This will take care of adding label, tooltip, combo box and a few buttons to manage the metastore elements.
