You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hop.apache.org by mc...@apache.org on 2020/11/18 12:06:52 UTC

[incubator-hop-docs] 35/49: Clarifying the MetaStore to HopMetadata changes

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 <ma...@gmail.com>
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.