[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