[jbosstools-dev] Common Validation: Help needed
Xavier Coulon
xcoulon at redhat.com
Mon Sep 17 14:59:10 EDT 2012
Alexey, Rob,
Thanks for your replies. I understand that our validators (JAX-RS is now part of them) are called during wst validation, and that I shouldn't trigger costly validation of all projects for the sole purpose of JAX-RS. I'll look at the options you suggested (explicit call of validateAll vs state saving/using KB)
Thanks
Best regards,
/Xavier
On Sep 17, 2012, at 7:24 PM, Alexey Kazakov wrote:
> We don't call our validators (CDI, EL, JSF, Seam, ...) directly. These validators are registered in plugin.xml's and managed by org.jboss.tools.common.validation.ValidatorManager
> This manager is called by eclipse wst validation builder.
> You could call ValidatorManager.validateInJob(IValidationContext helper, IReporter reporter) with proper helper (validationHelper.getValidationContextManager().getRegisteredFiles() should be empty) but in this case you will start all the validators to validate the entire projects! So it's not the way you are looking for.
> So you have two options here:
> 1. Call your validator directly validateAll(..) when you need it w/o builder
> or
> 2. Save the validation state between sessions and relay on wst builder/ValidationManager.
> In CDI/JSF/Seam tools we use KB project framework to save states. This framework is not a part of common-validation framework, so it's up to you if you want to use KB project or your own solution to save the state.
>
> On 09/17/2012 08:27 AM, Xavier Coulon wrote:
>> Never mind, I found the reason why the validate(..) method is called: some xml files need to be checked. They are not part of the 'changedFiles', but they are returned by the validationHelper.getURIs() method.
>>
>> So, instead, I'd like to ask: how can I force the validation framework to trigger a validateAll() at workbench startup ?
>>
>> Thanks.
>>
>> Best regards,
>> /Xavier
>>
>>
>>
>> On Sep 17, 2012, at 4:49 PM, Xavier Coulon wrote:
>>
>>> Hi !
>>>
>>> The JAX-RS tooling is now aligned on the CDI tooling and relies on the common-validation plugin to validate the JAX-RS elements.
>>> So far, so good, but I have this issue that I'd like to solve: at workbench start-up, the method
>>>
>>>
>>> public IStatus validate(Set<IFile> changedFiles, IProject project, ContextValidationHelper validationHelper,
>>> IProjectValidationContext context, ValidatorManager manager, IReporter reporter) throws ValidationException
>>>
>>> of my validator is called, but with an empty set of 'changedFiles'. Wouldn't it make more sense to call the
>>> public IStatus validateAll(IProject project, ContextValidationHelper validationHelper,
>>>
>>> IProjectValidationContext validationContext, ValidatorManager manager, IReporter reporter)
>>>
>>> throws ValidationException
>>> method instead ?
>>>
>>> I can workaround that and call validateAll(..) when changesFiles.isEmpty() in the validate(..) method call, but I don't think it's the best approach.
>>>
>>> WDYT ?
>>>
>>> Thanks.
>>>
>>> Best regards,
>>> /Xavier
>>>
>>>
>>>
>>
>>
>>
>> _______________________________________________
>> jbosstools-dev mailing list
>> jbosstools-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/jbosstools-dev
>
> _______________________________________________
> jbosstools-dev mailing list
> jbosstools-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jbosstools-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jbosstools-dev/attachments/20120917/02a046c1/attachment.html
More information about the jbosstools-dev
mailing list