Maybe we should have the ExtensibleURLArtifactProcessor to set the artifact name before it delegates the real processor. ________________________________________________________________ Raymond Feng [email protected] Apache Tuscany PMC member and committer: tuscany.apache.org Co-author of Tuscany SCA In Action book: www.tuscanyinaction.com Personal Web Site: www.enjoyjava.com ________________________________________________________________
On Oct 1, 2010, at 6:27 AM, Yang Lei wrote: > 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.
