I was running oasis compliance test in another hosting environment, I
noticed some test result validation differences from what Tuscany defined in
the error message files. I think these differences may expose an issue
on how we maintain the artifact name in the MonitorImpl.

I noticed that not all processors set artifact names when reporting problems
, which is understandable as they may not be document based.  I see
CompositeDocumentProcessor
set the artifact name, while ContributionMetadataProcessor,
DefinitionsProcessor do not. In ValidatingXMLStreamReader the logic of
getArtifact name from the ErrorHandler is such when monitor has the artifact
name, it is used otherwise it is using the input as the artifact name.

The logic caused me sometimes not getting the right artifact names in the
problem, as it still kept the one that was processed before...

One way of fixing the issue will be for processors whoever set the artifact
name (e.g. CompositeDocumentProcessor)  to reset the artifact name back to
null after processing to make the Monitor's artifact name always in-synch
with the current artifact that is under processing...  Otherwise, we need
all the other processors when first read a document to reset the artifact
name so the monitor will not have the previous artifact names...

Appreciate comments on it. I will open a JIRA .

-- 
Thanks. Yang.

Reply via email to