When a Petals Exchange arrives into a Camel route, the newly created Camel Exchange could have extra properties usable by the route implementor to know more about the original incoming exchange.
Following the usual way of doing that in Camel components, we should add the following properties to Camel exchanges:
"PetalsOriginalInterface": the interface (as a QName) returned by getInterface() on the Petals Exchange
"PetalsOriginalService": the service (as a QName) returned by getService() on the Petals Exchange
"PetalsOriginalEndpoint": the endpoint (as a ServiceEndpoint) returned by getEndpoint() on the Petals Exchange
"PetalsOriginalOperation": the operation (as a QName) returned by getOperation() on the Petals Exchange
"PetalsOriginalPattern": the MEP (as an URI) returned by getPattern() on the Petals Exchange
We should also add all the existing properties of the Petals Exchange (message properties are already copied), prefixed by "PetalsOriginalProperty." (see also PETALSSECAMEL-22).
Like with other Camel component, a constant should be declared in PetalsCamelComponent for each of these headers and prefix.
When a Petals Exchange arrives into a Camel route, the newly created Camel Exchange could have extra properties usable by the route implementor to know more about the original incoming exchange.
Following the usual way of doing that in Camel components, we should add the following properties to Camel exchanges:
"PetalsOriginalInterface": the interface (as a QName) returned by getInterface() on the Petals Exchange
"PetalsOriginalService": the service (as a QName) returned by getService() on the Petals Exchange
"PetalsOriginalEndpoint": the endpoint (as a ServiceEndpoint) returned by getEndpoint() on the Petals Exchange
"PetalsOriginalOperation": the operation (as a QName) returned by getOperation() on the Petals Exchange
"PetalsOriginalPattern": the MEP (as an URI) returned by getPattern() on the Petals Exchange
We should also add all the existing properties of the Petals Exchange (message properties are already copied), prefixed by "PetalsOriginalProperty." (see also PETALSSECAMEL-22).
Like with other Camel component, a constant should be declared in PetalsCamelComponent for each of these headers and prefix.
Victor NOËL added a comment - Wed, 3 Feb 2016 - 10:20:29 +0100 I agree but that is not the way things are done in Camel, they use the type of naming I chose.
IMO, the property names should be prefixed with 'org.ow2.petals':