[jbosstools-dev] Common Validation: Help needed

Alexey Kazakov akazakov at exadel.com
Mon Sep 17 13:24:49 EDT 2012


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jbosstools-dev/attachments/20120917/09fd712e/attachment.html 


More information about the jbosstools-dev mailing list