Some inconsistencies with tag paths


I am making quite some progress with my Apache IoTDB tag historian, but currently struggling with a problem, that hopefully you folks here can provide some insights on.

I implemented the browse method of my history-provider and it nicely shows the tree of the data stored in IoTDB. However as soon as I pull over the tag in a report, it's path gets trucated to only contain the first path segment.

When the query executes, I only get the first two path segments even if I pulled one containing 4 over in the editor.

I'm using this code to create the results for each element of the tree:

                results.add(new BasicResult(root.extend("tag", childPath), hasChildren));

This results in this structure:

But in the createQuery and as you can see in the editor window in the Tag path column all I get are the first two path elements.

I tried creating a new QualifiedPath containng the original information in path element 0 and by appending "/{childName}" to the second path, but the Parser then creates 2 path elements one with "tag":"parentName" and one with null:"childName", so we're back to where I started.

Any suggestions on how to do this right?

Not sure. When rendered, all of the tag: parts should end up reported together, delimited by /. Have you tried playing with the QualifiedPath parser?

1 Like

I did simply switch to generate them concatenated by appending {old-part}"." + {new-part} ... doesn't look pretty, but seems to pass the information I need.

As you can see something seems to be different with the way I built the paths as Ignition is only showing the first part in the editor.

The :/tag: delimiter should only exist once in the string render of a QualifiedPath. Find out why yours show repeats.

1 Like

So what would be the id of the following parts?

They wouldn't have their own IDs. They'd be merged with the first :tag:/ with / separators.

I think you need to be modifying your childPath (assuming it's an instance of TagPath, e.g. childPath.getChildPath("next")), not always adding new tag elements to root.