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.
