Prototyping a demonstrator workflow for extended DataDescriptor matching#8561
Conversation
b3fef6a to
7bb23c4
Compare
There was a problem hiding this comment.
@ktf, I guess this was added to allow quick implementation without considering too many corner cases. Maybe we can solve this now. At some point we want to support this anyhow.
There was a problem hiding this comment.
yes, exactly. The problem is extracting a ConcreteDataType from anything which is not a query. We basically need to revisit all the places where DataSpecUtils::asConcreteDataType is used and see if we cannot change it to something that matches the whole query. In particular I think the place where we serialise the workflow needs to have a recursive parser / serialiser to serialise and read back the query.
There was a problem hiding this comment.
Since it's two bool variables which will be logically xor'ed, this corresponds to a negation.
It's a demonstrator and it's working. I will implement the DataDescriptorMatcher::Op::Not alongside Op::Just, this will probably not require the other change above, but the 'Not' operator might have similar implications on the uniqueness of the matcher parameters.
7bb23c4 to
417ff83
Compare
There is a request to support input specs matching all blocks of
a particular origin/description with all but a specific sub spec.
E.g. a processor with input spec {TST/SAMPLE/!0} matching all blocks
of {TST/SAMPLE} with a subspec other than '0', and the output
{TST/SAMPLE/0}.
A custom matcher can be created for this purpose using operation 'not'
to invert the result of the embedded SubSpecificationTypeValueMatcher.
417ff83 to
b50062c
Compare
There is a request to support input specs matching all blocks of
a particular origin/description with all but a specific sub spec.
E.g. a processor with input spec {TST/SAMPLE/!0} matching all blocks
of {TST/SAMPLE} with a subspec other than '0', and the output
{TST/SAMPLE/0}.
A custom matcher can be created for this purpose using xor operation
to invert the result of the embedded SubSpecificationTypeValueMatcher.